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语句的用户下个随笔中详细讲下,这个就给大家看下,可以这样使用。

 

posted @   DBer  阅读(16450)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示