有没有办法检查表是否打开了级联删除?我正在查看表的脚本(来自 SQL Server),但没有看到任何级联删除的迹象。
问问题
11943 次
3 回答
25
您可以将 INFORMATION_SCHEMA 用于标准方法,例如。
select * from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
where DELETE_RULE ='CASCADE'
于 2013-06-08T12:07:09.963 回答
5
请sys.foreign_keys
用于外键关系。
该列 -delete_referential_action
帮助您了解级联是否存在删除。
http://technet.microsoft.com/en-us/library/ms189807.aspx
下面查看类似作品的帮助:
sys.default_constraints for default constraints on columns
sys.check_constraints for check constraints on columns
sys.key_constraints for key constraints (e.g. primary keys)
sys.foreign_keys for foreign key relations
于 2013-06-07T14:41:48.257 回答
0
我找到了如何做到这一点:
我将表格上的 FK 编写到一个新的查询窗口:
ALTER TABLE [dbo].[myTable] WITH CHECK ADD CONSTRAINT [FK_myTable_myTableHeaders] FOREIGN KEY([ID])
REFERENCES [dbo].[myTableHeaders] ([_ID])
ON DELETE CASCADE
GO
这就是我能够确认它的方式。
于 2013-06-07T14:48:53.033 回答