gpt4 book ai didi

sql - 更新限制删除级联

转载 作者:行者123 更新时间:2023-12-03 22:48:19 26 4
gpt4 key购买 nike

ALTER TABLE IDN_APPMGT_CLAIM_MAPPING 
ADD CONSTRAINT CLAIMID_APPID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES IDN_APPMGT_APP (ID)
ON UPDATE RESTRICT
ON DELETE CASCADE;

我想将此 SQL 转换为 Oracle。由于 Oracle 没有 ON UPDATE RESTRICT,我无法想象这应该如何完成。省略 ON UPDATE 子句会解决问题吗?
ALTER TABLE IDN_APPMGT_CLAIM_MAPPING 
ADD CONSTRAINT CLAIMID_APPID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES IDN_APPMGT_APP (ID)
ON DELETE CASCADE;

最佳答案

根据 https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html , RESTRICTON UPDATEON DELETE条款:

Rejects the delete or update operation for the parent table.



换句话说,当子表中的行引用此值时,尝试更改父表中的值将失败。

您不能指定 ON UPDATE Oracle 外键约束中的子句,因为 Oracle 不支持 ON UPDATE ...外键约束中的选项。但是,这对您来说不是问题,因为 Oracle 的行为 UPDATE语句和外键约束与 MySQL 的行为相同, ON UPDATE RESTRICT .事实上, ON UPDATE RESTRICT也是 MySQL 中的默认值,因此您可以在两个数据库中都省略它。

所以,总而言之,是的,省略了 ON UPDATE RESTRICT约束中的子句将解决您的问题。

关于sql - 更新限制删除级联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22871300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com