【Oracle】【延迟约束】的应用

xixuefeng Oracle, SQL&Function 2012-09-14 23:01:49 648 次浏览 【Oracle】【延迟约束】的应用已关闭评论
一、搭建环境

二、应用测试

1)因为nid=4的记录没有外键引用它,所以更新成功

2)因为nid=3的记录有外键引用它所以失败

4)删除student表的外键


5)创建student表的外键,应用nativeplace的主键nid,并且设置为可以允许设置为延迟约束的立即验证状态


6)设置当前事物为延迟约束验证


7)再次对nativeplace表进行更新,nid=4依旧没有问题


8)更新nativeplace表,将nid的3改为31,因为3这个值,student表的外键进行了引用,由于我们延迟验证,所以,也同样更新成功


9)更新student表,将native_place=3的所有记录改为31,这样主、外键将保持一致


10)提交,事务结束,更新成功


三、小结

解决这种问题应该有很多办法,无疑,利用延迟约束的方式更为便利
回顶部