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 

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM