提示missing set keyword

lzg827 2011-05-17 07:11:13
update tbl1 A ,tbl2 H set A.Status = 'S', H.Status = 'S'
where A.no = H.no and A.Amount = H.Amount
and A.Status = H.Status


原来是在Access上执行的,现在移到Oracle上执行,提示missing set keyword.
难道Oracle不支持同时更新两个表?需要怎么改?
...全文
3019 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzg827 2011-05-17
  • 打赏
  • 举报
回复
貌似不能update两个表。自己搞定了。如下,

update tbl2 H set (H.Status) = (select ''S'' from tbl1 A where A.no = H.no and A.Amount = H.Amount and A.Status = H.Status )


BOBO12082119的方法应该也可行,不过exists这类语法的速度可以会有点慢,放分了。
hanks_gao 2011-05-17
  • 打赏
  • 举报
回复
把两条语句放在同一个事务里,可以实现同样的功能!
huangdh12 2011-05-17
  • 打赏
  • 举报
回复
貌似不能update两个表。
304的的哥 2011-05-17
  • 打赏
  • 举报
回复

update tbl1 A
set A.Status = 'S'
where exists(
select 1
from tbl2 H
where A.no = H.no
and A.Amount = H.Amount
and A.Status = H.Status)
--
update tbl2 H
set H.status='S'
where exists(
select 1
from tbl1 A
where H.no=A.no
and H.amount=A.amout
and H.status=A.status)
tangren 2011-05-17
  • 打赏
  • 举报
回复
oracle中不支持同时更新两张表的语法。
写两个语句来更新。

17,382

社区成员

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

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