设为首页 加入收藏

TOP

菜鸟的DBA之路[MSSQL篇] 详解游标 (三)
2014-11-24 02:49:48 来源: 作者: 【 】 浏览:17
Tags:菜鸟 DBA 之路 MSSQL篇 详解 游标
har(100)

03 DECLARE @Parm03 varchar(100)

04 DECLARE @Parm04 varchar(100)

05 DECLARE cur_Pay INSENSITIVE SCROLL CURSOR FOR

06 SELECT AppId,GameName,CreateUser,CreateDate FROM PPS_App_Infomation

07 OPEN cur_Pay

08 BEGIN

09 FETCH next FROM cur_Pay INTO @Parm01 , @Parm02 , @Parm03 ,@Parm04

10 WHILE(@@FETCH_STATUS =0)

11 BEGIN

12 PRINT('当前游戏编号'+cast(@Parm01 as varchar(4)) +' 游戏名称为'+@Parm02)

13 DECLARE sub_cur CURSOR FOR

14 SELECT WM_Type,WM_Text FROM PPS_AppConfig_Infomation WHERE AppId = @Parm01

15 DECLARE @Parm05 varchar(100)

16 DECLARE @Parm06 varchar(100)

17 OPEN sub_cur

18 FETCH next FROM sub_cur INTO @Parm05 , @Parm06

19 WHILE(@@FETCH_STATUS =0)

20 BEGIN

21 PRINT('当前游戏类型'+@Parm05+'默认软文为'+@Parm06)

22 FETCH next FROM sub_cur INTO @Parm05 , @Parm06

23 END

24 CLOSE sub_cur

25 DEALLOCATE sub_cur

26 FETCH next FROM cur_Pay INTO @Parm01 , @Parm02 , @Parm03 ,@Parm04

27 END

28

29 END

30

31 DEALLOCATE cur_Pay

输出结果为

\

游标关联的系统存储过程

sp_cursor_list 报告当前为连接打开的服务器游标的属性。

01 DECLARE cur_Pay INSENSITIVE SCROLL CURSOR FOR

02 SELECT AppId,GameName,CreateUser,CreateDate FROM PPS_App_Infomation

03 OPEN cur_Pay

04 DECLARE @REPORT CURSOR

05 BEGIN

06 FETCH next FROM cur_Pay

07 WHILE(@@FETCH_STATUS =0)

08 BEGIN

09 FETCH next FROM cur_Pay

10 END

11 exec sp_cursor_list @cursor_return = @REPORT output,@cursor_scope =3 --设置1时报告所有本地游标 设置2时报告所有全局游标 设置3时报告所有本地游标和全局游标

12 END

13 CLOSE cur_Pay

14 DEALLOCATE cur_Pay

\

sp_describe_cursor查看游标的全局特性 作用和sp_cursor_list差不多。

01 DECLARE cur_Pay INSENSITIVE SCROLL CURSOR FOR

02 SELECT GameName,CreateUser,CreateDate FROM PPS_App_Infomation

03 OPEN cur_Pay

04 DECLARE @REPORT CURSOR

05 BEGIN

06 FETCH next FROM cur_Pay

07 WHILE(@@FETCH_STATUS =0)

08 BEGIN

09 FETCH next FROM cur_Pay

10 END

11 exec sp_describe_cursor @cursor_return = @REPORT output,@cursor_source =N'globle',@cur_identity=N'cur_Pay'

12 --@cursor_source 可选N'local',N'globle',N'variable' 选择本地、全局还是变量

13 --@cur_identity 查看的游标名称

14 END

15 CLOSE cur_Pay

16 DEALLOCATE cur_Pay

\

关系数据库中的操作会对整个行集起作用。由 SELECT 语句返回的行集包括满足该语句的 WHERE 子句中条件的所有行。这种由语句返回的完整行集称为结果集。应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需要一种机制以便每次处理一行或一部分行。游标就是提供这种机制的对结果集的一种扩展。

作者:熬夜的虫子

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇减少SQL日志的方法 下一篇让数据库游标变得简单

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Sphinx : 高性能SQL (2025-12-24 10:18:11)
·Pandas 性能优化 - (2025-12-24 10:18:08)
·MySQL 索引 - 菜鸟教 (2025-12-24 10:18:06)
·Shell 基本运算符 - (2025-12-24 09:52:56)
·Shell 函数 | 菜鸟教 (2025-12-24 09:52:54)