Я проверял существование внешних ключей перед удалением следующим образом:
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_NAME ='FK_Table1_Table2')
ALTER TABLE dbo.Table1
DROP CONSTRAINT FK_Table1_Table2
Затем мне пришло в голову, что есть таблица sys.foreign_keys
, которая также содержит эту информацию, и теперь я 'Я не уверен, что лучше.
Я предполагаю, что если я знаю, что я только буду удалять FK, тогда я должен использовать sys.foreign_keys
, но если я не знаю, какой тип ограничения я отбрасываюЯ должен использовать первый метод.Это правильно?Я упускаю какие-либо важные различия?