簡體   English   中英

一種檢查SQL 2005中是否存在外鍵的方法

[英]A way to check if foreign key exists in SQL 2005

有沒有一種簡單的方法來檢查表中的列是否存在外鍵? 我正在編寫一個腳本,只有當它不存在時才會添加外鍵。

您可以使用此腳本:

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獲取生成的腳本。

真厲害! 我過去兩天就這樣做了。

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM