关于FOR 循环里的SELECT 语句执行问题

zhang492328113 2011-11-22 04:04:37
关于FOR 循环里的SELECT 语句执行问题,是第一次for循环的时候把SELECT 的结果集缓存下来,还是每次循环都会执行一次循环里的select语句。请高手回答
...全文
637 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
007-x 2011-11-22
  • 打赏
  • 举报
回复
是的 这样只执行一次
zhang492328113 2011-11-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tx2730 的回复:]
lz说的是下面这种吗
for c in (select col1 from table1) loop
--逻辑处理
end loop;
这种只执行一次查询语句
[/Quote]
-------------------------
是的,是这样,这样FOR循环里的select只执行一次是吧
zhang492328113 2011-11-22
  • 打赏
  • 举报
回复
我做了一个test调试,for循环里有一个比较复杂的select语句,调试时第一次执行for循环,执行select语句会比较慢,到第二次循环就变很快了,如果每次都是SELECT应该会跟第一次一样慢呀
007-x 2011-11-22
  • 打赏
  • 举报
回复
lz说的是下面这种吗
for c in (select col1 from table1) loop
--逻辑处理
end loop;
这种只执行一次查询语句
我心飞翔 2011-11-22
  • 打赏
  • 举报
回复
当然是每次都执行了。因为你的select语句在for循环之中,也就是在循环体之内。

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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