SQL Srver游标.ppt

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL Srver游标

第5章 游标 5.1 声 明 游 标 5.2 打 开 游 标 5.3 读 取 数 据 5.4 关闭和删除游标 5.1 声 明 游 标 1.SQL-92语法 语句格式: DECLARE 游标名 [ INSENSITIVE ] [ SCROLL ] CURSOR FOR SELECT语句 [ FOR { READ ONLY | UPDATE [ OF 列名 [ , ... ] ] } ] 【例5.1】 定义一个符合SQL-92标准的游标声明。 USE pxscj GO DECLARE xs_cur1 CURSOR FOR SELECT 学号,姓名,性别,出生时间,总学分 FROM xsb WHERE 专业= 计算机 FOR READ ONLY GO 5.1 声 明 游 标 2.T-SQL扩展 语句格式: DECLARE 游标名 CURSOR [ LOCAL | GLOBAL ] /*游标作用域*/ [ FORWORD_ONLY | SCROLL ] /*游标移动方向*/ [ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ] /*游标类型*/ [ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ] /*访问属性*/ [ TYPE_WARNING ] /*类型转换警告信息*/ FOR Select语句 /*SELECT查询语句*/ [ FOR UPDATE [ OF 列名 [ , … ] ] ] /*可修改的列*/ 5.1 声 明 游 标 【例5.2】 定义一个T-SQL扩展游标声明。 DECLARE xs_cur2 CURSOR DYNAMIC FOR SELECT 学号,姓名,总学分 FROM xsb WHERE 专业= 计算机 FOR UPDATE OF 总学分 5.2 打 开 游 标 声明游标后,要使用游标从中提取数据,就必须先打开游标。其格式为: OPEN { { [ GLOBAL ] 游标名 } | 游标变量名 } 其中,“游标名”是要打开的游标名,“游标变量名”引用一个游标。GLOBAL说明打开的是全局游标,否则打开局部游标。 【例5.3】 定义游标xs_cur3,然后打开该游标,输出其行数。 DECLARE xs_cur3 CURSOR LOCAL SCROLL SCROLL_LOCKS FOR SELECT 学号, 姓名, 总学分 FROM xsb FOR UPDATE OF 总学分 OPEN xs_cur3 SELECT 游标xs_cur3数据行数 = @@CURSOR_ROWS 5.2 打 开 游 标 说明:本例中的语句“SELECT 游标xs_cur3数据行数 = @@CURSOR_ROWS”用于为变量赋值。执行结果如图5.1所示。 5.3 读 取 数 据 游标打开后,就可以使用FETCH语句从中读取数据了。 语法格式: FETCH [ [ NEXT | PRIOR | FIRST | LAST | ABSOLUTE { n | @nvar } | RELATIVE { n | @nvar} ] FROM ] { { [ GLOBAL ] 游标名 } | @游标变量名 } [ INTO @变量名 [ , … ] ] 5.3 读 取 数 据 【例5.4】 只读游标使用。 USE pxscj GO DECLARE xs_cur1 CURSOR FOR SELECT 学号,姓名,性别,出生时间,总学分 FROM xsb WHERE 专业= 计算机 FOR READ ONLY GO OPEN xs_cur1 GO FETCH NEXT FROM xs_cur1 GO FETCH NEXT FROM xs_cur1 GO 5.3 读 取 数 据 说明:由于xs_cur1是只进游标,所以只能使用NEXT提取数据。执行结果如图5.2所示。 5.3 读 取 数 据 【例5.5】 动态游标使用。 DECLARE xs_cur2 CURSOR DYNAMIC FOR SELECT 学号,姓名,总学分 FROM xsb WHERE 专业= 计算机 FOR UPDATE OF 总学分 OPEN xs_cur2 FETCH NEXT FROM xs_cur2

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档