您的位置:首页 > 博客中心 > 数据库 >

SqlCollections - 游标

时间:2022-03-14 01:27

 1 --==============================游标===============================
 2 --使用游标操作数据
 3 --1 定义游标
 4 DECLARE 游标_类别名称 CURSOR FAST_FORWARD    --FAST_FORWARD:启用了性能优化后的只读向前游标
 5 FOR SELECT 类别名称,说明 FROM 类别
 6 --2 打开游标
 7 OPEN 游标_类别名称
 8 --3 操作游标
 9 DECLARE @类别名称 nvarchar(15),@说明 nvarchar(max)
10 --3.1 读取游标中的第一条,并存储在变量中
11 FETCH NEXT FROM 游标_类别名称
12 INTO @类别名称,@说明
13 --3.2 判断是否从游标中取出数据
14 WHILE(@@FETCH_STATUS = 0)    --0:成功;-1:失败;-2:要读取的记录已经不存在
15 BEGIN
16     PRINT ‘类别名称:‘ + @类别名称 + char(10) + ‘类别说明:‘ + @说明 + char(10)
17     --3.3 读取游标中的下一数据
18     FETCH NEXT FROM 游标_类别名称 
19     INTO @类别名称,@说明
20 END
21 --4 关闭游标
22 CLOSE 游标_类别名称
23 --5 删除游标
24 DEALLOCATE 游标_类别名称
25 
26 --游标变量
27 --1 定义游标变量
28 DECLARE @游标变量 CURSOR
29 --2 为游标变量赋值
30 SET @游标变量 = CURSOR FOR SELECT * FROM 类别
31 --3 打开游标变量
32 OPEN @游标变量
33 --4 操作游标变量
34 FETCH NEXT FROM @游标变量    --读取游标变量中的第一条数据
35 --5 关闭游标变量
36 CLOSE @游标变量
37 --6 删除游标变量
38 DEALLOCATE @游标变量
39 
40 --查看游标状态
41 --函数CURSOR_STATUS(type,name),type可以是:‘local‘,‘global‘,‘variable‘,分别表示本地、全局、变量型游标,name表示游标名
42 DECLARE @游标变量2 CURSOR
43 SET @游标变量2 = CURSOR FOR SELECT * FROM 类别
44 OPEN @游标变量2
45 --输出1,代表游标已经打开
46 print CURSOR_STATUS(‘variable‘,‘@游标变量2‘)
47 CLOSE @游标变量2
48 DEALLOCATE @游标变量2

 

热门排行

今日推荐

热门手游