2024年6月5日发(作者:)
数据库 → MsSql → 正文内容 MSSQL 游标
MSSQL 游标使用 心得
发布:dxy 字体:[增加 减小] 类型:转载
MS-SQL游标的使用及理解 windows或DOS的“光标”不同,MS-SQL的游标是一种
临时的数据库对象,既对可用来旋转储存在系统永久表中的数据行的副本,也可以指向储存
在系统永久表中的数据行的指针。
游标为您提供了在逐行的基础上而不是一次处理整个结果集为基础的操作表中数据的方
法。
1.如何使用游标
1)定义游标语句 Declare <游标名> Cursor For
2)创建游标语句 Open <游标名>
3)提取游标列值、移动记录指针 Fetch <列名列表> From <游标名> [Into <变量列表>]
4)使用@@Fetch_Status利用While循环处理游标中的行
5)删除游标并释放语句 Close <游标名>/Deallocate <游标名>
6)游标应用实例
--定义游标
Declare cur_Depart Cursor
For Select cDeptID,cDeptName From Department into @DeptID,@DeptName
--创建游标
Open cur_Depart
--移动或提取列值
Fetch From cur_Depart into @DeptID,@DeptName
--利用循环处理游标中的列值
1
While @@Fetch_Status=0
Begin
Print @DeptID,@DeptName
Fetch From cur_Depart into @DeptID,@DeptName
End
--关闭/释放游标
Close cur_Depart
Deallocate cur_Depart
2.语句的详细及注意
1)定义游标语句
Declare <游标名> [Insensitive] [Scroll] Cursor
For
Insensitive DBMS创建查询结果集数据的临时副本(而不是使用直接引用数据库表中的真
实数据行中的列)。游标是Read Only,也就是说不能修改其内容或底层表的内容;
Scroll 指定游标支持通过使用任意Fetch 选项(First Last Prior Next Relative Absolute)
选取它的任意行作为当前行。如果此项省略,则游标将只支持向下移动单行(即只支持游标
的Fetch Next);
Select语句 定义游标结果集的标准 SELECT 语句。在游标声明的
许使用关键字 COMPUTE、COMPUTE BY、FOR BROWSE 和 INTO;
Read Only 防止使用游标的用户通过更新数据或删除行改变游标的内容;
Update 创建可更新游标且列出值能被更新的游标列。如果子句中列入了任意列,则只有被
列入的列才能被更新。如果Declare Cursor语句中只指定的UPDATE(没有列名列表),
则游标将允许更新它的任何或所有列。
Declare cur_Depart Cursor
For Select * From Department For Update OF cDeptID,cDeptName
2


发布评论