首页 > oracle根据一张表更新另外一张表

oracle根据一张表更新另外一张表

知道是两张表进行更新,之前作过mysql的,直接就写了:

update a,b set a.code = b.code wehre a.id = b.id

然后就报错了,上网查了下知道oracle不能这样子写

之后找到如下的办法:

UPDATE  a set a.code = (select b.code from  b where a.id = b.id) 

但是这条语句如果数据多的话会很慢,因为他要每条数据都要跟新

然后又找到了这条sql:

MERGE INTO  a USING  b ON ( a.id = b.id) WHEN MATCHED THENUPDATE
SET a.code = b.code 

这样的话,就算数据很多,也很快

转载于:https://www.cnblogs.com/mkdlf/p/7603389.html

更多相关: