问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle数据库如何用update批量更新某列数据中的字段

发布网友 发布时间:2022-04-07 22:02

我来回答

5个回答

懂视网 时间:2022-04-08 02:23

UPDATE categories 2 SET display_order = CASE id 3 WHEN ‘1‘ THEN 3 4 WHEN ‘2‘ THEN 4 5 WHEN ‘3‘ THEN 5 6 END 7 WHERE id IN (‘1‘,‘2‘,‘3‘);

或者更普遍的方式:

UPDATE test
 SET first_name = CASE 
 WHEN card_no = 100 THEN ‘aaa‘
 WHEN card_no = 110 THEN ‘bbb‘
 ELSE first_name
END

如果要批量更新多条记录的多个字段,则

UPDATE categories 
 SET display_order = CASE id 
 WHEN ‘1‘ THEN 3 
 WHEN ‘2‘ THEN 4 
 WHEN ‘3‘ THEN 5 
 END, 
 title = CASE id 
 WHEN ‘1‘ THEN ‘New Title 1‘
 WHEN ‘2‘ THEN ‘New Title 2‘
 WHEN ‘3‘ THEN ‘New Title 3‘
 END
WHERE id IN (‘1‘,‘2‘,‘3‘)

UPDATE test
 SET first_name = CASE 
 WHEN card_no = 100 THEN ‘aaa‘
 WHEN card_no = 110 THEN ‘bbb‘
 ELSE first_name
 END,
 last_name = CASE 
 WHEN card_no = 100 THEN ‘xxx‘
 WHEN card_no = 110 THEN ‘yyy‘
 ELSE last_name
 END 

每个部分都罗列了两种方法,第二种方法更普遍,case后面直接是when,when里面可以包含更复杂的添加,比如大于小于等;但是第一种方法虽然case后直接指明了条件字段id,但因为有where的限制,执行起来更块一些把,其实针对第二种方法也可以加where以限制的。

 

另外,还看到一种使用decode的批量更新方法,不过好像decode的效率要低一些。

UPDATE test
SET first_name = DECODE(card_no,100,‘aaa‘,110,‘bbb‘)
 ,last_name = DECODE(card_no,100,‘xxx‘,110,‘yyy‘)
WHERE card_no IN (100,101)

参考地址:

http://www.jb51.net/article/41852.htm

https://community.oracle.com/thread/682763

oracle使用case或decode语句实现批量更新

标签:

热心网友 时间:2022-04-07 23:31

跟Sql Server类似。
可以使用编程,或者使用PL/SQL连接Oracle数据库,
登陆连接后,使用以下Sql:
update table set id='TT' where a='XX';
以上语句,就是将表table中列a='XX'的所有id列改为“TT”。
条件可以添加多个,更新的字段也可以添加多个,比如:
update table set id1='TT',id2='CC' where a='XX' and b='YY' ;

热心网友 时间:2022-04-08 00:49

update的语法格式为:
update 表名
set 字段名=“更新的值”
[WHERE 字段名 = *条件值] --这部分可以不加,如果是更新整个表。

热心网友 时间:2022-04-08 02:24

update tal set name=replace(name,'广东省','湖南省') where name like '广东省%'

热心网友 时间:2022-04-08 04:15

update tal set name = '湖南' || substr(name,3,len(name) - 2) where substr(name,1,2) = '广东'
oracle数据库如何用update批量更新某列数据中的字段

可以使用编程,或者使用PL/SQL连接Oracle数据库,登陆连接后,使用以下Sql:update table set id='TT' where a='XX';以上语句,就是将表table中列a='XX'的所有id列改为“TT”。条件可以添加多个,更新的字段也可以添加多个,比如:update table set id1='TT',id2='CC' where a='XX' and b=...

oracle数据库怎么批量修改数据?

1、使用以下代码即可同时更新一个表中几个字段的值:updateASET(C1,C2,C3,C4)=(SELECTC1,C2,C3,C4FROMBWHEREID=A.ID)Oracle数据库最新版本为OracleDatabase12c。2、update表名set(字段1,字段2,字段3,...)=(select数值1,数值2,数值3,...)where条件多个字段可以使用逗号隔开,每一个...

请教一个关于oracle数据库某个字段批量update的问题!

update 表 set 列=9+列-trunc(列,0)where 列>10;update 表 set 列=1+列-trunc(列,0)where 列<1;

怎么实现oracle数据库某个表中某一列中日期的批量修改,而不修改时间...

需要用update语句。如test表中有如下数据:要将begintime改成当前日期时间,可用如下语句:12 update test set begintime=sysdate;commit;更新后结果:

如何批量修改oracle数据库中某一个表中的某一列数据?

1、构建临时表进行主键关联更新 需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以...

oracle update 多个字段更新性能

在 Oracle 数据库中,当需要同时更新多个字段时,可以采用以下方法来提高性能:1.使用单条 SQL 语句更新多个字段:通过一条 SQL 语句同时更新多个字段可以减少数据库服务器和客户端之间的通信量,从而提高性能。示例语句如下:UPDATE table_name SET column1=value1,column2=value2,column3=value3 WHERE ...

oracle批量update更新的问题

存储过程。用到的知识有:游标,字符串处理函数 基本思路如下:使用游标循环a记录,读取字段1和b字段4,用字符串处理函数截取a字段1前两位与29比较,b字段4与5比较,如果符合条件进行更新。

oracle 批量替换某字段中第一位的值

UPDATE TABLE_NAME SET COL1 = '2'||SUBSTR(COL1,2,LENGTH(COL1) - 1)

在oracle中如何批量更新一列记录

什么叫批量更新一列记录? 是要一次性更新多条记录么,如果是这样的话只能逐条去些UPDATE语句。不过可以把需要更新的所有数据全部存到excel表格里,然后用CONCATENATE函数去写SQL语句

sql语句进行批量修改

4, len(h_hmedir)-3)where left(h_hmedir,3)='d:\'涉及知识:Update更改表中的现有数据SET指定要更新的列或变量名称的列表SUBSTRING返回字符、binary、text 或 image 表达式的一部分语法SUBSTRING ( expression , start , length )expression是字符串、二进制字符串、text、image、列或包含列的表达...

oracle批量update数据 oracle更新某列数据 oracle批量update语句 oracle分批更新数据 oracle批量添加数据sql oracle更新数据 oracle更新千万条数据 oracle批量修改数据 oracle批量造数据
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
六年级二班男女生的人数比是5:4男生比女生多8人六二班一共有多少人? ...女生人数的比是四比三,已知男生人数比女生人数多6人。男生和女生各... 六(1)班男生与女生人数比是4:3,女生比男生少8人,全班几人? 六(1)班男生与女生人数比是4:3,女生比男生少8人,全班几人 ...比是4比3,已知男生比女生多8人,六(1)班共有多少人 ...工作怎么处理?这是已经过去6年了,法律上有没有规定说必须的开除吗... ib锁了有回收iphone4的吗 地暖地板缝隙究竟有多脏,应如何保养护理 供暖期快到了,你家木地板还好吗?地板遇到地暖,需要做好哪几件事呢? 供暖期快到了,你家木地板还好吗地板遇到地暖,需要做好哪几件事呢 严重的脑神经衰弱怎么治疗 通过工行办理河南ETC需要多少费用? 给好友改备注,加什么字比较霸气? 脑神经衰弱要怎么治 西安康宁治脑神经衰弱好吗? QQ好友备注设计 神经衰弱治疗用什么方法? 微信怎样可以全部发信息 如何微信全部发信息 电脑一直停留在开机状态 电脑一直在开机界面怎么回事? 索尼电视应用名字看不到 请问骑士卡是什么?支付宝里面的的骑士卡有什么用,看完你就知道 Oracle update 一张表内更新多行数据的优化问题 从西铭路建筑中巷到小店区君浱大酒店的公交车 Javqhc木马怎么杀 关于javqhc javqhc木马杀不掉 电脑中了javqhc木马病毒,该如何清除? 头上觉得世界jav hi hb该图上距离 用身份证可以查询是否办过骑士卡吗? 电脑连接打印机后,可以打印文档,但不能打印图片,只能用画图软件打开图片后在打印,请问怎么解决? 一天小便八次正常吗?烦死了整天老是跑厕所!请帮我回答一下!谢谢! 为什么打印机可以正常打印文档却打印不了图片? 每天上8次厕所,小手,撒尿有病么 我一天总上厕所,大概7-8次,是哪里有问题? 有一种纸牌游戏 抽到8的才可以上厕所是什么名字? 一天撒尿8次,正常吗 有一种纸牌游戏 抽到8的才可以上厕所 一天尿几次算尿频 每天排尿次数多正常吗?肾脏健康的人,一般排尿次数为哪个范围? 尿频 尿急 怎么办? 狗狗乱撒尿怎么办?而且 原来知道去厕所,现在就老乱撒.... 撒尿。。。 医生您好,我昨天夜里8点左右!去厕所小便!刚提上裤子就图片觉得呕吐 头晕 眼前越来越黑 看不 早晨四五点上过厕所又睡觉了,到8点起来,8点的时候算是晨尿吗? 在学校上厕所特别尴尬 小便 冬季摆地摊卖什么时龄的好卖 水利水电工程混凝土坝的混凝土设计龄期一般为多少天 时间年龄是什么意思 国企员工被开除后,退休时工龄还算不?