update 更新语句

qq_21099943 2015-08-13 06:03:44
update (select tuser.fauthority
from tc_user tuser
left join tc_userrole trole
on trole.fuserroleid = tuser.fuserroleid
where instr(trole.fuserrolename, '受理') > 0
and tuser.fuserlevelid = 3)
set fauthority = '1,2,3,4,5,6';


tc_userrole 主键是fuserroleid 这个没问题

还是会提示"ORA-01779: 无法修改与非键值保存表对应的列"

...全文
171 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Carry_Dominator 2015-08-14
  • 打赏
  • 举报
回复
新颖的写法update (select tuser.fauthority from tc_user tuser left join tc_userrole trole on trole.fuserroleid = tuser.fuserroleid where instr(trole.fuserrolename, '受理') > 0 and tuser.fuserlevelid = 3) set fauthority = '1,2,3,4,5,6';这样可以搞
lc_ant 2015-08-14
  • 打赏
  • 举报
回复
这中写法没用过, 感觉比较新颖
huaneramn 2015-08-14
  • 打赏
  • 举报
回复
可以。。。。。。。。。。。。。。。。
myhope88 2015-08-14
  • 打赏
  • 举报
回复
应该不能这样子更新吧,语法会有问题吧
fei缘如水 2015-08-14
  • 打赏
  • 举报
回复
update 表名 set 字段=‘XX’ where XXXX
全栈极简 2015-08-13
  • 打赏
  • 举报
回复
select tuser.fauthority from tc_user tuser left join tc_userrole trole on trole.fuserroleid = tuser.fuserroleid where instr(trole.fuserrolename, '受理') > 0 and tuser.fuserlevelid = 3 返回的是一个结果集,而不是一个表。 如果想update里面的内容,建议把数据放到一个临时表里,然后再update。

62,042

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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