定義SQL Server層疊引用完整性約束

添加層疊引用完整性約束:

alter table OS_DecisionSub
add constraint FK_OS_Decision foreign key(MainCode)
references OS_DecisionMain(DecisionID)
on update cascade
on delete cascade

注意:

在更新、刪除主鍵基表中的數據時,外鍵基表中的數據隨之變化的情況,選項列表如下

1、SET NULL
如果一個刪除語句影響到外鍵表格裏的行,那麼當主鍵記錄被刪除的時候,這些值可以被設置成NULL。如果一個更新語句影響到外鍵表格裏的行,那麼當主鍵記錄被更新之後,這些行將被用NULL值更新。受影響的外鍵行必須允許接受NULL值。

2、CASCADE
如果一個刪除語句影響到一個外鍵表格裏的一個或者多個行,那麼當主鍵記錄被刪除的時候,這些行就會被刪除。如果更新語句影響到外鍵表格裏的行,那麼當主鍵記錄被更新之後,這些行就被用來自主鍵記錄的值更新。

3、SET DEFAULT
組成被引用行的外鍵的值被設置爲默認的值。相關表格裏所有的外鍵都必須有針對它們的默認的約束。

4、NO ACTION
這是默認的操作。這用來定義如果更新或者刪除語句影響到外鍵表格裏的值,那麼操作會被拒絕或者回滾。系統會顯示一條錯誤信息。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章