本人新手,求指导一个简单的语句更新问题

唐唐唐唐唐小锋 2016-05-10 04:01:05
题:通过左右链接 查询出t_1表的所有字段和t_2表的roleid,如果roleid为空或为null,则变成123456
我的答案是:update (select t.*,tr.roleid from tsm_staff t,tsm_staff_role tr
where t.staffid=tr.staffid(+)) set roleid=123456 where roleid is null;

总感觉不对,求指导
...全文
132 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liucm123 2016-05-10
  • 打赏
  • 举报
回复
mark mark
  • 打赏
  • 举报
回复
茅塞顿开啊,谢谢
卖银的骷髅 2016-05-10
  • 打赏
  • 举报
回复
select t1.*,nvl(t2.roleid,123456) roleid from t_1 t1 inner join t_2 t2 on t1.staffid = t2.staffid 。
卖水果的net 2016-05-10
  • 打赏
  • 举报
回复

-- 试试这个
update a set roleid = nvl((select roleid from b where a.id = b.id),'123456')

2,668

社区成员

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

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