SQL Server 2008中的动态游标

在动态游标的帮助下,我们可以找到第一个,下一个,最后一个和任何相对行的表。

首先,我们创建一个名为EMP的表,并在此表上应用游标:

创建一个表

create table emp(emp_id int,em_name varchar(10))

go

insert into emp

select 1,'d' union all

select 2,'e' union all

select 3,'f' union all

select 4,'mahi' union all

select 5,'gill' union all

select 6,'singh'

go

select * from emp

动态游标

动态游标与静态游标相反。
如果我们打开动态游标,之后我们在原始数据源中进行更改:假设我们删除表中的行,然后游标将反映表中所做的所有更改:我们无法访问删除的行。
动态游标对于数据库更改,可滚动和敏感。
动态游标对原始数据源的任何更改都很敏感。
它支持更新,删除操作。

语法:

Declare cursor_name cursor

                          Dynamic

                          for

                          sql statement

其中:

cursor_nameis游标的名称。

Dynamic:是关键字,表示游标作为动态。

SQL语句:是要在游标中使用的SQL语句。

例子:

动态游标声明:

我们声明一个动态游标如下所示:

declare dynamic_cursor cursor

dynamic for

select * from emp

打开动态游标:

我们打开一个动态游标,如下所示:

open dynamic_cursor

从动态游标获取第一个数据:

这取出了指定表的第一行:

fetch first from dynamic_cursor

关闭动态游标:

我们关闭动态游标:

close dynamic_cursor

删除动态游标:

我们将是否dynamic_cursor游标如下所示:

deallocate dynamic_cursor
日期:2020-06-02 22:17:46 来源:oir作者:oir