oracle 如何根据一个表中记录的变动更新另外一个表中相应的字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 如何根据一个表中记录的变动更新另外一个表中相应的字段相关的知识,希望对你有一定的参考价值。
a表(id,name,telephone,zipcode,address),b表(id,name,telephone,zipcode,address,dept,money) a表中ID与b表中ID是对应的,B表中的name,address....会变动;这时就需要让A表与B表的数据保持一致,只修改变动的记录,不用全表替换,不需要实时变动。
我的意思是B表中的name,address会变动,但是不是所有的都会变动,所以先要查询出变动的部分,然后再和A表比较,再把A表的name,address也更新。备注:不要把没有变动的也更新一遍,这样会影响性能。 是不是要写存储过程才可以实现?
不实时变动用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 参考技术A 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
Excel 一张工作表变动后,怎么自动更新另一张表中的数据
在另外一张表中写公式,公式为=这张表的单元格,例如:=SHEET1!A1
这样本表改变后另外一张表就能自动变化。 参考技术A 那你要提前在另一张表中做好链接,将另一张表中的单元格链接到本张工作表上即可。 参考技术B 很多种办法和函数可以解决,要看实际情况,你最好截图上来,比较清楚一点
以上是关于oracle 如何根据一个表中记录的变动更新另外一个表中相应的字段的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server2008 触发器中,根据一个表修改另外一个表