thử cái này:
SELECT
*
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_NAME ='FK_ChannelPlayerSkins_Channels'
-- BIÊN TẬP --
Khi ban đầu tôi trả lời câu hỏi này, tôi đã suy nghĩ "Khóa ngoài" vì câu hỏi ban đầu hỏi về việc tìm "FK_ChannelPlayerSkins_Channels". Kể từ đó, nhiều người đã bình luận về việc tìm kiếm các "ràng buộc" khác, đây là một số truy vấn khác cho điều đó:
--Returns one row for each CHECK, UNIQUE, PRIMARY KEY, and/or FOREIGN KEY
SELECT *
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_NAME='XYZ'
--Returns one row for each FOREIGN KEY constrain
SELECT *
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_NAME='XYZ'
--Returns one row for each CHECK constraint
SELECT *
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
WHERE CONSTRAINT_NAME='XYZ'
đây là một phương pháp thay thế
--Returns 1 row for each CHECK, UNIQUE, PRIMARY KEY, FOREIGN KEY, and/or DEFAULT
SELECT
OBJECT_NAME(OBJECT_ID) AS NameofConstraint
,SCHEMA_NAME(schema_id) AS SchemaName
,OBJECT_NAME(parent_object_id) AS TableName
,type_desc AS ConstraintType
FROM sys.objects
WHERE type_desc LIKE '%CONSTRAINT'
AND OBJECT_NAME(OBJECT_ID)='XYZ'
Nếu bạn cần nhiều thông tin ràng buộc hơn nữa, hãy xem bên trong quy trình được lưu trữ của hệ thống master.sys.sp_helpconstraint
để xem cách lấy thông tin nhất định. Để xem mã nguồn bằng SQL Server Management Studio, hãy vào "Object Explorer". Từ đó, bạn mở rộng cơ sở dữ liệu "Chính", sau đó mở rộng "Khả năng lập trình", sau đó "Thủ tục lưu trữ", sau đó "Quy trình lưu trữ hệ thống". Sau đó, bạn có thể tìm "sys.sp_helpconstraint" và nhấp chuột phải vào nó và chọn "sửa đổi". Chỉ cần cẩn thận để không lưu bất kỳ thay đổi cho nó. Ngoài ra, bạn chỉ có thể sử dụng quy trình được lưu trữ hệ thống này trên bất kỳ bảng nào bằng cách sử dụng nó như thế nào EXEC sp_helpconstraint YourTableNameHere
.