• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

怎样获得打开的游标信息

Keambala 2008-02-28 11:06:30
大家好, 有个问题想请教一下。
1.怎样查询当前数据库德游标信息,只知道有dm_exec_cursors(0)能返回游标的信息,不知道有没有什么其他方法可以得到游标信息
2。怎样实现当游标数达到一定数目是自动触发一个事件, 比如说,允许的最大数为4个,当有5个打开的游标时就记录下当前游标的信息
...全文
49 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Keambala 2008-03-06
问题1我应用了下面的查询
select * from sys.dm_exec_cursors(0) as A cross apply sys.dm_exec_sql_text(A.sql_handle)

之前没有注意到apply 的用途。
那么怎样才能实现当上面的结果集总数超过一定数额时触发一个事件?比如说当上面的查询语句count(*)>4时向表Cursorinfo中插入一条记录?
目前我用了一个Job每分钟查询一下,这种方法不是实时的,当在一分钟内有超出这个数目的Corsor打开和删除时就没有办法捕捉到。
希望大家帮忙解决这个问题。
回复
Keambala 2008-02-29
1 . 可能是我还没有说清楚,我想得到数据库所有游标的信息,比如说声明的代码,还有是在那个session中声明的,那个用户声明的,打开状态
回复
ojuju10 2008-02-28


--SELECT @@CURSOR_ROWS;

USE AdventureWorks;
GO
SELECT @@CURSOR_ROWS;
DECLARE Name_Cursor CURSOR FOR
SELECT LastName ,@@CURSOR_ROWS FROM Person.Contact;
OPEN Name_Cursor;
FETCH NEXT FROM Name_Cursor;
SELECT @@CURSOR_ROWS;
CLOSE Name_Cursor;
DEALLOCATE Name_Cursor;
GO
回复
Keambala 2008-02-28
自己顶一下 
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-02-28 11:06
社区公告
暂无公告