Ответ 1
Вы можете попробовать следующее:
SELECT name, delete_referential_action_desc
FROM sys.foreign_keys
В SQL Server 2005 я могу выполнить SQL-запрос для перечисления всех ограничений FK для таблиц в БД и показать правило удаления? (т.е. ничего, каскад, значение null или заданное значение по умолчанию)
Результат, который я ищу, похож на:
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')