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