DB2 Foreign Key

 

 DB2 的Foreign Key在DELETE上有四种设置:

No Action         : 不要被字面意思所影响,它的意思其实和Restrict delete一样。
Restrict delete:  表示删除父表记录时如果存在子表的关联记录,将被回滚,并且报错;
Cascade          :  表示在删除父表的同时删除子表的记录(级联删除.);
Set Null            :  表示在删除父表的同时,子表外键列被设置为 null;

 

No Action和Restrict delete的区别只是在于一点:

Note: No Action is the default situation for DB2 UDB on Unix or Windows. Restrict delete is the default situation for DB2 UDB on z/OS.

No Action 的意思为 ‘不做任何操作’。被有些人理解错误时因为他们没有想到外键的一个关键作用:防止数据孤岛的错在。

所以No Action 的真正含义为 ‘不做任何操作,DB按照原有的逻辑去处理’。而DB原有的逻辑就是Restrict delete的逻辑。

                                    ---自己的理解,出错请指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值