级联删除已开启?

web*_*ad3 10 sql sql-server

有没有办法检查表是否已打开Cascade Delete?我正在查看表的脚本(来自SQL Server),我没有看到Cascade Delete的任何迹象.

小智 15

您可以使用INFORMATION_SCHEMA作为标准方法,例如.

select * from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 
where DELETE_RULE ='CASCADE'
Run Code Online (Sandbox Code Playgroud)


小智 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
Run Code Online (Sandbox Code Playgroud)

来源:SQL Server 2008-获取表约束