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