oracle 如何批量更新一列值

luodirong 2017-12-22 10:53:22
我希望把hr_users表里的性别编码更新为对应的性别,我使用以下语句只能一条一条更新,哪位大神指导一下能否批量更新?
update hr_users h
set sex = (select s.sex_ from (select user_code,case sex when '8002-001'then '男'
when '8002-002'then '女' end sex_
from hr_users) s
where s.user_code=10004)
where h.user_code=10004
...全文
975 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
luodirong 2017-12-22
  • 打赏
  • 举报
回复
也解决,谢谢各位大神!
碧水幽幽泉 2017-12-22
  • 打赏
  • 举报
回复
试试这个:

update hr_users 
      set sex=case when sex = '8002-001' then '男' else '女' end 
where sex in ('8002-001','8002-002')
花开了叫我 2017-12-22
  • 打赏
  • 举报
回复
UPDATE hr_users SET sex = DECODE (sex,'8002-001','男','8002-002','女') where sex in ('8002-002','8002-001'); --楼主你需要的是这样的效果?
luodirong 2017-12-22
  • 打赏
  • 举报
回复
我使用这个更行语句报一个错误(ORA-30926:无法在源表中获得一组稳定的行) merge into hr_users h using (select user_code,case sex when '8002-001'then '男' when '8002-002'then '女' end sex_ from hr_users) s on (h.user_code=s.user_code) when matched then update set h.sex=s.sex_

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧