DB2外键删除规则的特殊约束(DB2 FOREIGN KEY ON DELETE RULES special constraints)

来源:互联网 发布:3x3矩阵怎么求逆矩阵 编辑:程序博客网 时间:2024/05/16 16:12

今天遇到不少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

 

原创粉丝点击