上一篇 | 下一篇

SQL Server 7.0 入门(七)

发布: 2008-6-30 23:09 | 作者: admin | 来源: | 查看: 0次

SQL Server 7.0 入门(七)

【字体:小 大】

SQL Server 7.0 入门(七)

作者:- 文章来源:- 点击数:148 更新时间:2006-4-20

i. 声明游标

在这一步中,需要指定游标的属性和根据要求产生的结果集。有两种方法可以指定一个游标。

形式1 (ANSI 92)

DECLARE cursor_name [INSENSITIVE] [SCROLL] CURSOR

FOR select_statement

[FOR {READ ONLY | UPDATE ][OF column_list]}]

形式2

DECLARE cursor_name CURSOR

[LOCAL | GLOBAL]

[FORWARD_ONLY | SCROLL]

[STATIC | KEYSET | DYNAMIC]

[READ_ONLY | SCROLL_LOCKS | OPTIMISTIC]

FOR select_statement

[FOR {READ ONLY | UPDATE ][OF column_list]}]

INSENSITIVE关键字指明要为检索到的结果集建立一个临时拷贝,以后的数据从这个临时拷贝中获取。如果在后来游标处理的过程中,原有基表中数据发生了改变,那么它们对于该游标而言是不可见的。这种不敏感的游标不允许数据更改。

SCROLL关键字指明游标可以在任意方向上滚动。所有的fetch选项(first、last、next、relative、absolute)都可以在游标中使用。如果忽略该选项,则游标只能向前滚动(next)。

Select_statement指明SQL语句建立的结果集。Transact SQL语句COMPUTE、COMPUTE BY、FOR BROWSE和INTO在游标声明的选择语句中不允许使用。

READ ONLY指明在游标结果集中不允许进行数据修改。

UPDATE关键字指明游标的结果集可以修改。

OF column_list指明结果集中可以进行修改的列。缺省情况下(使用UPDATE关键字),所有的列都可进行修改。

LOCAL关键字指明游标是局部的,它只能在它所声明的过程中使用。

GLOBAL关键字使得游标对于整个连接全局可见。全局的游标在连接激活的任何时候都是可用的。只有当连接结束时,游标才不再可用。

FORWARD_ONLY指明游标只能向前滚动。

STATIC的游标与INSENSITIVE的游标是相同的。

KEYSET指明选取的行的顺序。SQL Server将从结果集中创建一个临时关键字集。如果对数据库的非关键字列进行了修改,则它们对游标是可见的。因为是固定的关键字集合,所以对关键字列进行修改或新插入列是不可见的。

DYNAMIC指明游标将反映所有对结果集的修改。

SCROLL_LOCK是为了保证游标操作的成功,而对修改或删除加锁。

OPTIMISTIC指明哪些通过游标进行的修改或者删除将不会成功。

注意:

字号: | 推荐给好友

21/212>

评分:0

我来说两句