Как узнать чей FK?

De

Привет, All!очищаю таблицу, получаю сообщение
Невозможно усечь таблицу "T1", так как на нее ссылается ограничение FOREIGN KEY.
как узнать какая таблица держит FK?
3 ответа

De

Ну, как-нибудь так, например
select
	ctu_pk.TABLE_SCHEMA + '.' + ctu_pk.TABLE_NAME + '.' + ctu_pk.CONSTRAINT_NAME
	, ctu_fk.TABLE_SCHEMA + '.' + ctu_fk.TABLE_NAME + '.' + ctu_fk.CONSTRAINT_NAME
from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc
join INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE ctu_pk on rc.UNIQUE_CONSTRAINT_NAME = ctu_pk.CONSTRAINT_NAME
join INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE ctu_fk on rc.CONSTRAINT_NAME = ctu_fk.CONSTRAINT_NAME
where ctu_pk.TABLE_NAME = ...


De


De

Ну, как-нибудь так, например
если PK является UNIQUE INDEX, то этот скрипт не сработает на такой табличке ...