我正在开发一个在临时表上使用游标的存储过程(我已经阅读了一些关于为什么不需要游标的内容,但在这种情况下我相信我仍然需要使用游标)。
在我的过程中,我需要遍历表的行两次。
声明游标后,已经单步执行临时表并关闭游标,重新打开时游标的位置是否仍保留在表的末尾,或者是否将自身重新定位到初始起始位置(即:在第一个游标之前)排)?
或者,要重新定位光标,我必须在再次单步执行之前执行“FETCH FIRST”吗?
我是否正确地假设执行此重新定位和重用游标的“成本”将低于取消分配和重新分配游标?
分配和解除分配的成本微不足道。游标的“坏处”来自于您没有以最佳方式与数据库交互,而不是来自创建或处置游标的任何特定开销。
我不认为关闭和重新打开光标的位置的行为被记录下来,所以你不应该依赖它以任何给定的方式起作用。因此,当您再次开始使用它时,您应该自行重新放置它。
而且,您正在做的事情可能无需光标即可完成。如果我是你,我会考虑问与此相关的(不同的)问题。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)