第9章-SQL-SERVER的程序设计.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 二. 使用游标 ----③推进游标指针并取当前记录 (2)PRIOR:读取当前游标指针所指向行的上一行数据,并将游标指向该上一行。如果 FETCH PRIOR 为对游标的第一次提取操作,则没有行返回并且游标仍指向第一行。 (3)FIRST:读取游标结果集的第一行数据并将其作为当前行。 (4)LAST:读取游标结果集的最后一行数据并将其作为当前行。 * 二. 使用游标 ----③推进游标指针并取当前记录 (5)ABSOLUTE { n | @nvar }:表示读取游标结果集的第n行数据。 如果n或@nvar为正数,则返回从游标结果集第一行开始计算的正数第n行数据,并将返回的行变成新的当前行。 如果n或@nvar为负数,则返回从游标结果集第末行开始计算的倒数第n行数据,并将返回的行变成新的当前行。 如果n或@nvar为0,则没有行返回。n必须为整型常量且@nvar必须为smallint、tinyint或int类型数据。 * 二. 使用游标 ----③推进游标指针并取当前记录 (6)RELATIVE { n | @nvar }:如果n或@nvar为正数,读取当前行之后的第n行并将返回的行变成新的当前行。如果n或@nvar为负数,读取当前行之前的第n行并将返回的行变成新的当前行。如果n或@nvar为0,读取当前行。如果对游标的第一次提取操作时将FETCH RELATIVE的n或@nvar指定为负数或0,则没有行返回。n必须为整型常量,局部变量@nvar必须为smallint、tinyint或int型。 (7)INTO @variable_name[,...n]:表示允许将提取操作的列数据存放到局部变量列表中。 * 二. 使用游标 ----③推进游标指针并取当前记录 注意:有两个全局变量可以提供关于游标活动的信息 1. @@FETCH_STATUS: 返回被FETCH语句执行的最后游标的状态。返回类型为integer。返回值含义如下。 (1)0:FETCH语句成功。 (2)-1 :FETCH语句失败或此行不在结果集中。 (3) -2:被提取的行不存在。 在任何提取操作出现前,@@FETCH_STATUS的值没有定义。 2. @@rowcount : 保存着自游标打开后的第一个fetch语句,直到最近一次fetch语句为止,已从游标结果集中提取的行数 * 二. 使用游标 ----③推进游标指针并取当前记录 【例】定义游标stud_cur,然后打开该游标,试验一下从游标结果集中提取数据. declare stud_cur scroll cursor for select * from stud_info where gender=男 for read only open stud_cur /*fetch next from stud_cur*/ 如不使用scroll选项,则只能用next来提取数据 * 二. 使用游标 ----④使用游标修改数据 UPDATE语句和DELETE语句都是集合操作,如果只想修改或删除其中某个记录,则需要用带游标的SELECT语句查出所有满足条件的记录,从中进一步找出要修改或删除的记录,然后用CURRENT形式的UPDATE和DELETE语句修改或删除之。 具体步骤是: (1)用DECLARE语句说明游标。FOR UPDATE OF 列名 (2)用OPEN语句打开游标。 (3)用FETCH语句推进游标指针。 (4)检查该记录是否是要修改或删除的记录。 (5)处理完毕用CLOSE语句关闭游标。 * 二. 使用游标 ----④使用游标修改数据 (一) 删除数据 通过在delete语句中使用游标来删除表或视图中的行.被删除的行依赖于游标指针的当前值. 语法格式: delete from 表名|视图名 where current of 游标名 说明:p256 【例】实训3.5.2 * 二. 使用游标 ----④使用游标修改数据 (二) 更新数据 语法格式: update 表名|视图名 set 列名=列值 where current of 游标名 【例】实训3.5.3 * 二. 使用游标----⑤关闭游标 关闭游标就是停止处理游标定义的那个查询.关闭游标并不改变它的定义,可以再次用open语句打开它: 语法格式: close 游标名 在如下情况下SQL Server会自动自动的关闭已打开的游标: 1. 当退出这个SQL Server会话时 2. 从声

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档