SQLServer FOREIGN KEY ON DELETE CASCADE 限制條件

來源:互聯網
上載者:User

標籤:

在需要實現串聯刪除的情況下,使用 FOREIGN KEY的ON DELETE CASCADE選項非常方便,但在同一張表中,如果有兩個外鍵引用外表資料,那麼最多隻能將一個外鍵設為 ON DELETE CASCADE,其他的參考條件約束需要使用觸發器實現串聯刪除。

 1 --建立單詞表 2 IF EXISTS (SELECT * FROM sysobjects WHERE name=‘Word‘) 3 DROP TABLE Word 4 CREATE TABLE Word 5 ( 6     wordID            int                NOT NULL    CONSTRAINT PK_Word PRIMARY KEY    IDENTITY(1,1),     7                                                             --單詞編號 8     word            nvarchar(50)    NOT NULL    CONSTRAINT UQ_Word UNIQUE,                     9                                                             --單詞10 )11 GO12 13 --單詞關係表14 IF EXISTS (SELECT * FROM sysobjects WHERE name=‘WordRelation‘)15 DROP TABLE WordRelation16 CREATE TABLE WordRelation17 (18     relationID        int        NOT NULL    CONSTRAINT PK_WordRelation PRIMARY KEY    IDENTITY(1,1),    19                                                             --單詞關聯性記錄編號20     wordSID            int        NOT NULL    CONSTRAINT FK_Word_WordRelation_S FOREIGN KEY REFERENCES Word(wordID) ON DELETE CASCADE,21                                                             --主單詞編號22     wordOID            int        NOT NULL    CONSTRAINT FK_Word_WordRelation_O FOREIGN KEY REFERENCES Word(wordID) ON DELETE CASCADE,23                                                             --從單詞編號24 )25 GO

 

報告錯誤為:

訊息 1785,層級 16,狀態 0,第 5 行將 FOREIGN KEY 約束 ‘FK_Word_WordRelation_O‘ 引入表 ‘WordRelation‘ 可能會導致迴圈或多重級聯路徑。請指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 約束。訊息 1750,層級 16,狀態 0,第 5 行無法建立約束。請參閱前面的錯誤訊息。

 

SQLServer FOREIGN KEY ON DELETE CASCADE 限制條件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.