Способ проверить, существует ли внешний ключ в SQL 2005

SQL, вероятно, слишком велик для компиляции. Если вы добавите значения регистра в таблицу, вы сможете делать то, что хотите.

tbl_case key_column, case_value

7c6014eb0000737090d972c0ad2520f7 xxxxx

SELECT table.key_value, tbl_case.case value
from table 
join tbl_case on table.key_value = tbl_case.key_value; ----------
39
задан Abel 27 April 2014 в 19:20
поделиться

2 ответа

Вы можете использовать этот сценарий:

IF EXISTS (SELECT * 
           FROM sys.foreign_keys 
           WHERE object_id = OBJECT_ID(N'[dbo].[FK_NAME]') 
             AND parent_object_id = OBJECT_ID(N'[dbo].[MyTable]'))
BEGIN
    -- do stuff
END

Это можно сделать, если развернуть таблицу, щелкнуть правой кнопкой мыши существующий FK и выбрать ключ сценария как «DROP TO», после чего вы получите сгенерированный сценарий из SQL.

70
ответ дан 27 November 2019 в 02:30
поделиться

У-у-у! Я только что потратил на это последние два дня.

IF NOT EXISTS ( SELECT  name
                FROM    sys.foreign_keys
                WHERE   name = 'FK_Name' ) 
    ALTER TABLE table_name ADD CONSTRAINT FK_Name FOREIGN KEY (idcol) 
                           REFERENCES OtherTable(idcol)
8
ответ дан 27 November 2019 в 02:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: