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 THEN
UPDATE
SET a.code = b.code
这样的话,就算数据很多,也很快