在SQL Server 2005中,我可以发出SQL查询来列出数据库中表上的所有FK约束,并显示删除规则吗? (即什么都没有,级联,设置为空或默认设置)查询以查找所有FK约束及其删除规则(SQL Server)
我在寻找的输出是一个类似于:
FK_NAME ON_DELETE
==================================
FK_LINEITEM_STATEMENT CASCADE
FK_ACCOUNTREP_CLIENT NOTHING
在SQL Server 2005中,我可以发出SQL查询来列出数据库中表上的所有FK约束,并显示删除规则吗? (即什么都没有,级联,设置为空或默认设置)查询以查找所有FK约束及其删除规则(SQL Server)
我在寻找的输出是一个类似于:
FK_NAME ON_DELETE
==================================
FK_LINEITEM_STATEMENT CASCADE
FK_ACCOUNTREP_CLIENT NOTHING
你可以试试这个:
SELECT name, delete_referential_action_desc
FROM sys.foreign_keys
小晚到这里的游戏,但你也可以试试这个:
select * from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
你也可以在WHERE块中使用表达式:
objectproperty(object_id('FK_your_constraint_name'), 'CnstIsDeleteCascade')
或
objectproperty(your_constraint_object_id, 'CnstIsDeleteCascade')
谢谢。我以MS方式做事情,并在你提供这个小块之前双击我的RSI方式。 – Synesso 2010-10-06 23:14:42