首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ON CASCADE CONSTRAINT for oracle

使用ON CASCADE CONSTRAINT for oracle
EN

Stack Overflow用户
提问于 2016-03-25 22:04:43
回答 2查看 16关注 0票数 0

我想在Update Cascade上做,但otacle不支持它。有没有办法做到这一点?

代码语言:javascript
复制
    create table parentTable
    (
      Username varchar2 (50) primary key,
      password varchar2 (50)
   );

   create table childTable
   (
      ID varchar2 (10),
     Name varchar2 (50),
     email_address varchar2 (50) references parentTable (Username)
   );
EN

回答 2

Stack Overflow用户

发布于 2016-03-25 22:27:15

我明白了,所以您想要oracle中的整个“逻辑”:)

https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:130261000346380506

票数 0
EN

Stack Overflow用户

发布于 2016-03-25 22:40:33

你能?是。你应该这样吗?几乎可以肯定不会。

你可以使用use this AskTom package to generate triggers that implement cascading updates。这将生成一些触发器和一个包,并实现级联更新所需的各种逻辑。

然而,从功能上讲,这是为了实现级联更新而在数据库中运行的大量移动块。通常,希望进行级联更新意味着您对主键的选择不是很理想。主键应该是不可变的。在本例中,我强烈希望将parentTable的主键更改为永远不会更改的序列生成值,并将username/ email设置为unique。然后,子表可以使用不变的序列生成值作为外键,用户可以自由地更新他们的电子邮件地址,而不需要在各个子表之间级联更新。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36221472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档