我想在Update Cascade上做,但otacle不支持它。有没有办法做到这一点?
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)
);发布于 2016-03-25 22:27:15
我明白了,所以您想要oracle中的整个“逻辑”:)
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:130261000346380506
发布于 2016-03-25 22:40:33
你能?是。你应该这样吗?几乎可以肯定不会。
你可以使用use this AskTom package to generate triggers that implement cascading updates。这将生成一些触发器和一个包,并实现级联更新所需的各种逻辑。
然而,从功能上讲,这是为了实现级联更新而在数据库中运行的大量移动块。通常,希望进行级联更新意味着您对主键的选择不是很理想。主键应该是不可变的。在本例中,我强烈希望将parentTable的主键更改为永远不会更改的序列生成值,并将username/ email设置为unique。然后,子表可以使用不变的序列生成值作为外键,用户可以自由地更新他们的电子邮件地址,而不需要在各个子表之间级联更新。
https://stackoverflow.com/questions/36221472
复制相似问题