新SQL Server 2008数据库应用教程 第2版 教学课件 邱李华 李晓黎 任华 冉兆春 第9章.pptVIP

  • 7
  • 0
  • 约1.26万字
  • 约 69页
  • 2016-11-09 发布于广东
  • 举报

新SQL Server 2008数据库应用教程 第2版 教学课件 邱李华 李晓黎 任华 冉兆春 第9章.ppt

第9章 游标 课程描述 游标通常是在存储过程中使用的,在存储过程中使用SELECT语句查询数据库时,查询返回的数据存放在结果集中。用户在得到结果集后,需要逐行逐列的获取其中包含的数据,从而在应用程序中使用这些值。游标就是一种定位并控制结果集的机制。掌握游标的概念和使用方法对于编写复杂的存储过程是必要的。 本章知识点 9.1 游标概述 9.2 游标的使用 8.3 触发器 9.1 游标概述 9.1.1 游标的概念 9.1.2 游标的分类 9.1.1 游标的概念 游标有以下主要的功能 9.1.2 游标的分类 9.2 游标的使用 9.2.1 声明游标 9.2.2 打开游标 9.2.3 读取游标数据 9.2.4 关闭游标 9.2.5 获取游标的状态和属性 9.2.6 修改游标结果集中的行 9.2.7 删除游标结果集中的行 9.2.8 删除游标 9.2.1 声明游标 可以使用DECLARE CURSOR语句来声明Transact-SQL服务器游标和定义游标的特性,例如游标的滚动行为和结果集的查询方式等。DECLARE CURSOR的语法结构如下: DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ] [ FORWARD_ONLY | SCROLL ] [ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ] [ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ] [ TYPE_WARNING ] FOR select_statement [ FOR UPDATE [ OF column_name [ ,...n ] ] ] 【例9-1】 下面是定义游标的一个简单示例: USE HrSystem GO DECLARE Employee_Cursor CURSOR FOR SELECT * FROM Employees WHERE Sex = 男 GO 游标结果集是表Employees中所有的男性员工。 9.2.2 打开游标 OPEN语句的语法结构如下: OPEN { { [ GLOBAL ] cursor_name } | cursor_variable_name } 参数说明如下: cursor_name已声明的游标的名称。如果指定了GLOBAL,cursor_name指的是全局游标,否则cursor_name指的是局部游标。 cursor_variable_name指定游标变量的名称。 【例9-2】 下面是打开游标的一个简单示例: USE HrSystem GO DECLARE Employee_Cursor CURSOR FOR SELECT * FROM Employees WHERE Sex = 男 OPEN Employee_Cursor GO 9.2.3 读取游标数据 1.FETCH语句 2.@@FETCH_STATUS函数 3.@@CURSOR_ROWS函数 1.FETCH语句 FETCH语句的功能是从Transact-SQL服务器游标中检索特定的一行。它的语法结构如下: FETCH ????????[ [ NEXT | PRIOR | FIRST | LAST ????????????????| ABSOLUTE { n | @nvar } ????????????????| RELATIVE { n | @nvar } ????????????] ????????????FROM ????????] { { [ GLOBAL ] 游标名称} | @游标变量名称 } [ INTO @variable_name [ ,...n ] ] 【例9-3】 下面是读取游标数据的一个简单示例: USE HrSystem GO DECLARE Employee_Cursor CURSOR FOR SELECT * FROM Employees WHERE Sex = 男 OPEN Employee_Cursor FETCH NEXT FROM Employee_Cursor GO 运行结果 【例9-4】 以下是使用FETCH LAST读取最后一行数据的示例: USE HrSystem GO DECLARE Employee_Scroll_Cursor SCROLL CURSOR FOR SELECT * FROM Employees WHERE Sex = 男 OPEN Employee_Scroll_Cursor FETCH LAST FROM Employee_Scroll_Cursor GO 使用FETCH L

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档