oracle中静态光标与动态光标的区别

时间:2009-11-29 14:53:42

标签: oracle

您可以通过示例来描述静态光标和动态光标之间的区别。

4 个答案:

答案 0 :(得分:3)

•静态光标不会反映创建ResultSet后对数据库所做的数据更改,而动态光标会反映更改发生时的更改。

•静态游标比动态游标更高效,因为它不需要与数据库服务器进一步交互。

•静态游标支持相对和绝对定位,而动态游标仅支持相对定位。

•静态光标可用于书签目的,因为返回的数据是静态的,而动态光标不能用于相同的

答案 1 :(得分:2)

<强>静态

  

静态游标的完整结果集是在tempdb中构建的   光标已打开。静态游标始终显示结果集   当光标打开时。静态游标检测很少或没有   更改,但在滚动时消耗相对较少的资源。

<强>动态

  

动态游标与静态游标相反。动态游标   反映在结果集中对行所做的所有更改   滚动光标。数据值,顺序和成员资格   结果集中的行数可以在每次获取时更改。全部更新,   可以看到所有用户发出的INSERT和DELETE语句   光标。

http://technet.microsoft.com/en-us/library/ms191179.aspx

答案 2 :(得分:0)

检查ref cursors。例如代码check here。差异在于能力和实施。

答案 3 :(得分:-1)

静态游标总是指与游标关联的一个工作区。 其中ref cursor指的是内存中不同的工作区。 ref cursor用于声明带有select语句的游标。