在SQL Server 2005中,我是否可以发出SQL查询以列出数据库中表的所有FK约束,并显示删除规则? (即没有,级联,设置为null或设置默认值)
我正在寻找的输出类似于:
FK_NAME ON_DELETE
==================================
FK_LINEITEM_STATEMENT CASCADE
FK_ACCOUNTREP_CLIENT NOTHING
答案 0 :(得分:29)
你可以试试这个:
SELECT name, delete_referential_action_desc
FROM sys.foreign_keys
答案 1 :(得分:7)
这里游戏的时间已经很晚了,但你也可以试试这个:
select * from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
答案 2 :(得分:0)
您也可以在WHERE块中使用表达式:
objectproperty(object_id('FK_your_constraint_name'), 'CnstIsDeleteCascade')
或
objectproperty(your_constraint_object_id, 'CnstIsDeleteCascade')