Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm thế nào để kiểm tra xem một Ràng buộc tồn tại trong máy chủ Sql?

hãy thử cái này:

SELECT
    * 
    FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 
    WHERE CONSTRAINT_NAME ='FK_ChannelPlayerSkins_Channels'

- CHỈNH SỬA -

Khi tôi trả lời câu hỏi này ban đầu, tôi nghĩ là "Khoá 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 đã nhận xét 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 thêm thông tin ràng buộc, hãy xem bên trong quy trình được lưu trữ trong hệ thống master.sys.sp_helpconstraint để xem làm thế nào để có được một số 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 "Master", sau đó mở rộng "Khả năng lập trình", sau đó là "Thủ tục được lưu trữ", sau đó là "Thủ tục được lưu trữ hệ thống". Sau đó, bạn có thể tìm thấy "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 nào vào 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ư EXEC sp_helpconstraint YourTableNameHere .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối MSSQL CodeIgniter

  2. Di chuyển Cơ sở dữ liệu Microsoft Access sang SQL Server

  3. THIẾT LẬP TEXTSIZE không hoạt động trong SQL Server? Kiểm tra điều này.

  4. 5 Nguyên tắc truy vấn và cú pháp SQL để giám sát cơ sở dữ liệu tốt hơn

  5. Cách SCHEMA_NAME () hoạt động trong SQL Server