首页 理论教育 SQLServer数据库基础教程:游标声明与类型

SQLServer数据库基础教程:游标声明与类型

时间:2023-10-21 理论教育 版权反馈
【摘要】:这4种游标类型如下。1)STATIC:静态游标的完整结果集在游标打开时建立在tempdb中。静态游标总是按照游标打开时的原样显示结果集。键集驱动游标由一套称为键集的唯一标识符控制。键由以唯一方式在结果集中标识行的列构成。当滚动游标时,动态游标反映结果集中所做的所有更改。在游标声明的select_state-ment内不允许使用关键字COMPUTE、COMPUTE BY、FOR BROWSE和INTO。该选项替代要更新的游标的默认功能。

SQLServer数据库基础教程:游标声明与类型

声明游标使用DECLARECURSOR语句,其语法格式如下。

在上述数据参数中:

●INSENSITIVE:定义一个游标,以创建将由该游标使用的数据的临时副本。对游标的所有请求都从tempdb中的临时表中得到应答,因此,在对该游标进行提取操作时返回的数据中不反映对基表所做的修改,并且该游标不允许修改。

●SCROLL:指定所有的提取选项。使用该选项声明的游标具有以下提取数据功能。

●FIRST:提取第一行。

●LAST:提取最后一行。

●PRIOR:提取前一行。

●NEXT:提取后一行。

●RELATIVE:按相对位置提取数据。

●ABSOLUTE:按绝对位置提取数据。(www.xing528.com)

如果在声明中未指定SCROLL,则NEXT是唯一支持的提取选项。

注意SQL Server 2005所支持的4种游标类型,已经扩展了DECLARE CURSOR语句,这样就可以指定T-SQL游标的4种游标类型。这些游标监测结果集变化的能力和消化资源的情况各不相同。这4种游标类型如下。

1)STATIC(静态游标):静态游标的完整结果集在游标打开时建立在tempdb中。静态游标总是按照游标打开时的原样显示结果集。

2)KEYSET(键集驱动游标):打开游标时,键集驱动游标中的成员和行顺序是固定的。键集驱动游标由一套称为键集的唯一标识符控制。键由以唯一方式在结果集中标识行的列构成。键集是游标打开时来自所有适用SELECT语句的行中的一系列键值。键集驱动游标的键集在游标打开时建立在tempdb中。

3)DYNAMIC(动态游标):动态游标与静态游标相对。当滚动游标时,动态游标反映结果集中所做的所有更改。结果集中的行数据值、顺序和成员在每次提取时都会改变。所有用户做的全部UPDATE、INSERT和DELETE语句均通过游标可见。

4)FAST_FORWARD(只进游标):只进游标不支持滚动,它只支持游标从头到尾顺序提取。行只在从数据库中提取出来后才能检索。

●select_statement:是定义游标结果集的标准SELECT语句。在游标声明的select_state-ment内不允许使用关键字COMPUTE、COMPUTE BY、FOR BROWSE和INTO。

●READ ONLY:该游标只能读,不能修改。即在UPDATE或DELETE语句的WHERE CURRENT OF子句中不能引用游标。该选项替代要更新的游标的默认功能。

5)UPDATE[OF列名[,…n]]:定义游标内可更新的列。如果指定“OF列名[,…n]”参数,则只允许修改所列出的列。如果在UPDATE中未指定列的列表,则可以更新所有列。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈