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

Ràng buộc khóa ngoại SQL DROP TABLE

Không, điều này sẽ không làm rớt bảng của bạn nếu thực sự có khóa ngoại tham chiếu đến nó.

Để nhận được tất cả các mối quan hệ khóa ngoại tham chiếu đến bảng của bạn, bạn có thể sử dụng SQL này (nếu bạn đang sử dụng SQL Server 2005 trở lên):

SELECT * 
FROM sys.foreign_keys
WHERE referenced_object_id = object_id('Student')

và nếu có bất kỳ câu lệnh nào, với câu lệnh này ở đây, bạn có thể tạo câu lệnh SQL để thực sự loại bỏ các quan hệ FK đó:

SELECT 
    'ALTER TABLE [' +  OBJECT_SCHEMA_NAME(parent_object_id) +
    '].[' + OBJECT_NAME(parent_object_id) + 
    '] DROP CONSTRAINT [' + name + ']'
FROM sys.foreign_keys
WHERE referenced_object_id = object_id('Student')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khắc phục sự cố hết luồng công nhân

  2. Điền các ngày còn thiếu theo nhóm

  3. Kích thước của trường VARBINARY trong SQL Server 2005

  4. 10 sự thật về giám sát hiệu suất cơ sở dữ liệu có thể khiến bạn ngạc nhiên

  5. Máy chủ SQL phiên bản 655