Oracle數據庫UPDATE單條更新和批量處理更新的用法大全


1、數據庫中的UPDATE語法大家並不陌生

UPDATE TABLE_NAME SET COUMN_NAME = 'XXX' WHERE ID = 1;

一個簡單的UPDATE語句是每個初學者都會的。

2、批量更新

UPDATE TABLE_1 T SET T.CREATE_ORG_NAME=
(SELECT T1.CHANNEL_NAME FROM TABLE_2 T1 where T.CREATE_ORG_ID=T1.CHANNEL_ID);
commit;

大家看下這條更新語句,是個批量的更新,我們來更新TABLE_1的列CREATE_ORG_NAME,這個列的數據來源是TABLE_2 中的CHANNEL_NAME ;

更新的條件是T.CREATE_ORG_ID=T1.CHANNEL_ID;這個語句就很精妙的更新了,這個是對TABLE_1 中列CREATE_ORG_NAME的全部更新;所以用這個語句的時候一定要長點心,是不是全部批量更新,還是個別更新。

3、在某種條件下的批量更新

UPDATE TABLE_1 T 
SET T.ROLE_ID=(SELECT Z.ROLE_ID FROM TABLE_2 Z
WHERE T.PROD_OFFER_ID=Z.OFFER_ID)
WHERE EXISTS(SELECT 1 FROM TABLE_2 Z
WHERE T.PROD_OFFER_ID=Z.OFFER_ID);
COMMIT;

這個批量更新比第二步的批量更新更精致的表達更新內容

4、還有一種拼接UPDATE語句的語法

select 'update TABLE_1 t set t.attr_value='''||a.attr_value||''',t.remark=''TEST'' where t.prod_inst_id='||a.prod_inst_id||' and t.attr_id='||a.attr_id||'; ' from TABLE_2 a;

這種拼接UPDATE語句的用戶下個隨筆中詳細講下,這個就給大家看下,可以這樣使用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM