SQL Server 支持的4种API服务器游标

1.只进游标

        只进游标不支持滚动,它只支持从头到尾顺序提取。行只在数据库中提取出来后才能检索。对所有由当前用户发出或由其他用户提交、并影响结果集中的行INSERT、UPDATE和DELETE语句,其效果在这些行从游标中提取时可见。

        由于游标无法向后滚动,则在提取行对数据库中的行进行的大多数更改通过游标均不可见。当值用于确定所修改的结果集中行的位置时,修改后的值通过游标可见。

2.静态游标

        静态游标始终是只读的。游标打开时刻的当时状态显示结果集的游标。静态游标在游标打开时不反映对基础数据进行的更新、删除或插入。有时称它们为快照游标。 静态(STATIC)游标创建将由该游标使用的数据的临时复本。对游标的所有请求都从tempdb 中的这一临时表中得到应答;因此,在对该游标进行提取操作时返回的数据中不反映对基表所做的修改,并且该游标不允许修改。

3.有键集驱动的游标

        该游标中各行的成员身份和顺序是固定的。有键集驱动的游标由一组唯一标识符控制,这组键称为键集。键是根据以唯一方式标识结果集中各行的一列生成的。键集是打开游标时来自符合SELECT语句要求的所有行中的一组键值。由键值驱动的游标对应的键集是打开该游标时在tempdb中生成的。

4.动态游标

       动态游标与静态游标相对。可以在游标打开时反映对基础数据进行的修改的游标。用户所做的更新、删除和插入在动态游标中加以反映。如果使用API函数或Transact-SQL WHERE CURRENT OF 子语句通过游标更新,他们将立即可见。在游标外部所做的更新直到提交时才可见,除非将游标的事务隔离级别设为未提交读。

您的回应...

相关话题

查看全部

也许你感兴趣

换一批

热门标签

更多