【问题标题】:why i have an error when i use on update cascade? [duplicate]为什么我在更新级联上使用时出错? [复制]
【发布时间】:2019-01-25 07:18:22
【问题描述】:

我必须在更新级联时为外键+添加一个约束,但是它显示错误,为什么?

SQL> alter table affaire_cassation
   2  add constraint key_fk_num_p foreign key(num_aff_a) references 
    affaire_appel(num_aff)
    3  on update cascade;

更新级联 * ERREUR Ó la ligne 3 : ORA-00905: mot-clÚ 不存在

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    oracle 中没有ON UPDATE CASCADE

    您可能想查看deferrable constraints,它将外键检查推迟到提交、更新父级、更新子级然后提交。

    ALTER TABLE affaire_cassation
    ADD CONSTRAINT key_fk_num_p 
    FOREIGN KEY(num_aff_a) 
    REFERENCES affaire_appel(num_aff)
    DEFERRABLE INITIALLY DEFERRED;
    

    您还可以查找DEFERRABLE INITIALLY IMMEDIATE,您可以在需要时根据需要推迟限制。


    ALTER SESSION SET CONSTRAINTS = DEFERRED;一起使用

    【讨论】:

    • hmmm ,第一次使用 oracle :p 感谢您的帮助
    • 但是当我更新事务中的主键时我仍然收到错误,因为它没有在事务中更新
    • 请检查我的更新
    • 是的,对不起,谢谢
    猜你喜欢
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    相关资源
    最近更新 更多