Моя конечная цель - достичь чего-то вроде:
CREATE FOREIGN KEY IF NOT EXISTS FOREIGN KEY
Поскольку этого утверждения, похоже, не существует, я пытаюсь разобраться в нем вместе.
У меня есть оператор, который будет возвращать имя FK, если оно существует:
SELECT f.name AS ForeignKey
FROM sys.foreign_keys AS f
WHERE OBJECT_NAME(f.parent_object_id) = 'myTableName'
И у меня есть утверждение, которое добавляет желаемый внешний ключ:
ALTER TABLE myTableName
WITH CHECK
ADD CONSTRAINT [FK_myTableName_otherTable]
FOREIGN KEY([columnName])
REFERENCES otherTable ([otherColumn])
Я просто не могу при жизни понять, как объединить их в одно утверждение.
Абсолютно необходимо, чтобы решение работало как в MS SQL 2000, так и в MS SQL 2005.