如何使用“ON UPDATE CASCADE”创建外键在甲骨文上?
在 MS SQL Server 中,可以使用 ON UPDATE CASCADE 选项创建外键,因此每当您更新主键中的一列时,其他表中的外键也将被更新数据库管理系统。
那么,在Oracle中如何实现呢?
In MS SQL Server it is possible to create a foreign key with ON UPDATE CASCADE option, so whenever you update one of the columns in the primary key, the foreign keys in other tables will also be update by the DBMS.
So, how to do it in Oracle?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Oracle 不允许使用“ON UPDATE CASCADE”的外键约束。
您有以下几个选择。
创建外键,并创建“更新时”触发器。
使用下面的包(需要安装在数据库中)。
http://tkyte.blogspot.com/2009/10/httpasktomoraclecomtkyteupdatecascade.html
如果您还有其他问题或需要更多信息,请告诉我。
Oracle does not allow a Foreign Key constraint with “ON UPDATE CASCADE”.
Here are a couple of options you have.
Create the Foreign Key, and create an “On Update” trigger.
Make use of the package below (needs to be installed in the db).
http://tkyte.blogspot.com/2009/10/httpasktomoraclecomtkyteupdatecascade.html
Let me know if you have additional questions or need more information.
数据库触发会执行以下操作吗工作适合你吗?
这是 Oracle 文档 11g 数据完整性的主题(以防万一您感兴趣)。
Would a database trigger do the job for you ?
Here is the Oracle doc on the subject of Data Integrity for 11g (just incase you were interested).
您不能在更新级联上使用,但您可以创建一个触发器来解决该问题:
You can't use on update cascade, but you can create a trigger that will resolve the issue: