首页 > 数据库技术 > 详细

Oracle修改主表A主键值,从表的外键值也会跟着改变

时间:2020-03-05 19:03:16      阅读:256      评论:0      收藏:0      [点我收藏+]

create table a(
aid char(2) primary key,
name char(10)
);

create table b(
bid char(2) primary key,
name char(10),
aid char(2)
);

alter table b
add constraint a_b foreign key(aid) references a(aid)
deferrable;

create or replace trigger ud_aid
after update on a
for each row
begin
if :old.aid <>:new.aid then
update b set aid= :new.aid where aid= :old.aid;
end if;
end;

insert into a values(‘1‘,‘a‘);
insert into a values(‘2‘,‘b‘);
insert into b values(‘1‘,‘a‘,‘1‘);
insert into b values(‘2‘,‘b‘,‘2‘);

update a set aid=‘3‘ where aid=‘1‘;

Oracle修改主表A主键值,从表的外键值也会跟着改变

原文:https://www.cnblogs.com/mobai95/p/12421631.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!