oracle两个表之间数据更新怎么实现

oracle两个表之间数据更新怎么实现,第1张

数据类型都一样的么,可以考虑用触发器实现 以oracle数据库为例 有两张表test和test01 字段有id name age sal

create or replace trigger TRIG_UPDATE_TEST

after insert or delete or update on test

for each row

declare

l_id varchar2(50)

l_name varchar2(50)

l_age number

l_sal number

begin

if(deleting or updating) then

delete test01

where id=:old.id

if(deleting) then

return

end if

end if

l_id:=:new.id

l_name:=:new.name

l_age:=:new.age

l_sal:=:new.sal

begin

insert into test01(id,name,age,sal) values(l_id,l_name,l_age,l_sal)

end

end TRIG_UPDATE_TEST

再简化点就是在触发器中不声明变量,直接用:new.字段代替

哎,没分啊

请采纳。

两表关联更新用如下方法。

有以下两张表:

根据test2表中的id和test1表中的id关联,修改test1表中name字段,语句如下:

update test1 a set a.name=(select b.name from test2 b where a.id=b.id) where a.id in (select id from test2)

更新后,test1表中结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6773846.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存