SQL Server: как добавить ограничение к существующей таблице, но только если ограничение еще не существует?

Я бы рекомендовал использовать mssql2005 представление INFORMATION_SCHEMA.TABLE_CONSTRAINTS. Он mssql переносится между различными sql-server ядрами баз данных:

SELECT COUNT(*) 
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
WHERE TABLE_NAME='Foo' 
AND CONSTRAINT_NAME='FK_Foo_Bar' 
AND CONSTRAINT_TYPE='FOREIGN KEY'

sql-server

sql-server-2005

2022-10-19T08:46:15+00:00
Вопросы с похожей тематикой, как у вопроса:

SQL Server: как добавить ограничение к существующей таблице, но только если ограничение еще не существует?