需要实时变动用触发器
不实时变动用update
update a set a.name=(select b.name from b where a.id=b.id),a.adress=(select b.address from b where a.id=b.id)
------补充------
update a set a.name=(select b.name from b where a.id=b.id),a.adress=(select b.address from b where a.id=b.id) where a.name<>b.name or a.address<>b.address
oracle 如何根据一个表中记录的变动更新另外一个表中相应的字段
可以采取两种方式来实现: 子查询和视图的方式
1:子查询方式
参考代码
update stumarks
set stuname=
(
select stuinfo.stuname from stuname
where stumarks.stuno=stuinfo.stuno
)
2:视图方式
参考代码
update(
select a.stuname anme,b.stuname bname from stuinfo a
inner join stumarks b
ona.stuno=b.stuno
)
set bname=aname