EXEC sp_MSforeachtable @command1="ALTER TABLE ? NOCHECK CONSTRAINT ALL"
GO
Bạn cũng có thể muốn làm điều này:
EXEC sp_MSforeachtable @command1="ALTER TABLE ? DISABLE TRIGGER ALL"
GO
Để kích hoạt chúng sau đó
EXEC sp_MSforeachtable @command1="ALTER TABLE ? ENABLE TRIGGER ALL"
GO
-- SQL enable all constraints - enable all constraints sql server
-- sp_MSforeachtable is an undocumented system stored procedure
EXEC sp_MSforeachtable @command1="ALTER TABLE ? CHECK CONSTRAINT ALL"
GO
Chỉnh sửa:
Nếu vô hiệu hóa các ràng buộc là không đủ, bạn sẽ phải bỏ các ràng buộc.
Nếu bạn đang xóa và tạo lại các bảng, bạn sẽ phải tạo lại các ràng buộc khóa ngoại sau đó.
Nếu bạn chỉ cần bỏ các ràng buộc, bạn có thể thấy điều này hữu ích:
Ràng buộc khóa ngoại SQL DROP TABLE
Nếu bạn cần viết script để loại bỏ và tạo các ràng buộc, bạn có thể thấy bài đăng của tôi ở đây hữu ích hơn:
SQL Server:Làm cách nào để lấy tham chiếu khóa ngoại từ information_schema?