sql表a更新表b
发布时间: 2023-07-17 17:58:39
❶ sql中如何把A表某列update成B表某列数据
update A bmt1 set bmt1.c = (select B.c from B ,A where B.a = A.a and B.a = bmt1.a);
update A bmt1 set bmt1.c = (select B.c from B ,A where B.a = A.a);如如果直接这样的话,如果子查询查出来是只有一个值的结果集的话,那么更新的A.C的行全部都是同一个值,如果子查询有多个值的话,会提示出错,返回多个行;只有在后面在加个跟外面的表的判断条件,才能实现一个一个更新。
❷ sql表数据自动更新
sql表数据自动更新
要实现两个表之间的数据的自动更新,可以采用触发器来实现,触发器的实现方法:
1、A表有数据更新的时候自动更新B表:
create or replace trigger tg after update on A for each row
begin
update B set xx=xx where b.aid = a.id;
end;
/
2、A表插入数据时,B表更新数据:
create or replace trigger tgg after insert on A for each row
begin
insert B values(xxxx);
end;
/
如果不需要每条数据都跟新,只需要在每次A更新的时候更新B,可以将后面的for each row去掉。
热点内容