DB2外鍵刪除規則的特殊約束(DB2 FOREIGN KEY ON DELETE RULES special constraints)

今天遇到不少DB2 foreign key的referencial constraint的問題,翻了SQL reference才知道,某些情況下,創建delete rule是有限制的。而網上基本上沒有人寫過這些限制,所以寫點總結,填下空白:

1.  如果父表和子表是同一張表,即自己引用自己,則必須指定CASCADE or NO ACTIONSET NULL只能在外鍵中的某些column允許NULL且這些column都不是partitioning indexkey時指定。

2.  多個表間Delete的傳播不可以導致任何一個表delete-connect到自己。

3.  如果父表和子表間有多個delete-connection,那麼父表和子表的依賴關係必須相同,且不能爲SET NULL

另外,關於默認的ON DELETE RULES:依賴於當create table時,一個叫CURRENT RULES的特殊register裏的值,如果裏面的值是'DB2',則默認的delete ruleRESTRICT;如果裏面的值是'SQL',則默認的delete ruleNO ACTION

 

發佈了65 篇原創文章 · 獲贊 7 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章