请教 oracle 一个游标的问题,Fetch.. Bulk Collect Into

blackkettle 2010-03-22 02:42:55
从 Oracle 9i开始,可以用 Fetch.. Bulk Collect Into 语句每次取多行数据。

比如 Fetch emp_cursor Bulk Collect Into emp_record Limit 2

是说 每次取 2行。

这样的话,

第一次取的是 1,2行,
第二次取的是 3,4行,
第三次取的是 5,6行,
...

可是我想实现
第一次取的是 1,2行,
第二次取的是 2,3行,
第三次取的是 3,4行,
...

请问该如何处理?

万分感谢!
...全文
266 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
blackkettle 2010-03-22
  • 打赏
  • 举报
回复
您说得太对了。

非常感谢!
vanjayhsu 2010-03-22
  • 打赏
  • 举报
回复
如果是这样的话,估计游标实现不了。
我觉得还不如再加多一个列,这个列就是每行的行号。这样估计更灵活,而且容易实现,查询的时候用IN就可以了。当然,还是需要一个循环。
blackkettle 2010-03-22
  • 打赏
  • 举报
回复
你说的确实可以解决。

可是如果我想实现的是

第一次取的是 1,2,3,4行,
第二次取的是 2,3,4,5行,
第三次取的是 3,4,5,6行,
...

那岂不是有点麻烦?
vanjayhsu 2010-03-22
  • 打赏
  • 举报
回复
每次取一行啊,然后上一行所需要的值用变量记住就可以了。。。
blackkettle 2010-03-22
  • 打赏
  • 举报
回复
那还有什么其他办法可以做到?
vber1010 2010-03-22
  • 打赏
  • 举报
回复
你说的问题好像不能解决,游标应该是不能控制后退的,
vber1010 2010-03-22
  • 打赏
  • 举报
回复
o不是 我理解错了
vber1010 2010-03-22
  • 打赏
  • 举报
回复
Fetch emp_cursor Bulk Collect Into emp_record Limit 1 ???

17,377

社区成员

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

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