好奇怪的 存储过程与游标 (100分)

  • 主题发起人 主题发起人 meiguibao
  • 开始时间 开始时间
M

meiguibao

Unregistered / Unconfirmed
GUEST, unregistred user!
用的是sql server2000
建立了一个存储过程,在其中建立了一个游标,调用别外一个存储过程。 问题出在这里,当调用别外这个存储过程后,游标的 @@cursor_rows
就变为0了,不知是怎么回事,请大家多多帮助!

create table #JiBieLeiBieBiao(级别 char(2) , 类别 char(2))
declare cur_JiBieBiao scroll cursor for select 级别 from 项目级别表
open cur_JiBieBiao

fetch first from cur_JiBieBiao into @JiBie
print @@cursor_rows 现在的值为 11
exec ReturnLeiBie @JiBie , @LeiBie output --调用自定义过程,
print @@cursor_rows 问题出现在这里 现在的值为 0 这是为什么呢?
 
@@CURSOR_ROWS:
返回连接上最后打开的游标中当前存在的合格行的数量.
我不知道你的ReturnLeiBie 过程是如何实现的,不过可以肯定
的是你的 ReturnLeiBie 过程改变了@@cursor_rows 的值。
你干脆在进入过程之前用个变量保存了这个@@cursor_rows的值吧。
也免得你担心会被哪条语句改变系统变量得值了。
 
接受答案了.
 
后退
顶部