【发布时间】:2012-08-31 11:01:03
【问题描述】:
我有 2 个选项可以根据选择查询的游标更新表。
假设我有这个选择查询:
select id1 from table1
我的更新查询是:
update table2 set value=1 where table2.id2 = table1.id1
现在有两个选项:
为选择查询设置一个游标并批量获取它,然后在 for all 语句中触发更新查询。
-
使用 select 子查询编写更新查询:
update table2 set value=1 where table2.id2 in (select id1 from table1)
哪个更好?
Oracle 是在内部将 select 子查询转换为批量收集还是将其视为普通游标?
【问题讨论】: