澳门太阳娱乐集团官网-太阳集团太阳娱乐登录

sqlserver 使用游标进度中冒出的一无是处
分类:数据库

澳门太阳娱乐集团官网,上面包车型大巴观点是在运用游标的进度中做的日志。笔者也是第叁回利用,假如有哪些难堪的位置请斟酌指正,我们共同尽力。

declare @temp_temp uniqueidentifier--临时变量    
DECLARE aaa CURSOR for select Id from A
-------------------打开游标
open aaa
--先查询一次再循环,防止有多个游标时@@FETCH_STATUS=-1不能进入下个游标循环的情况
fetch next from aaa into @temp_temp
-------------------循环取数据
while @@FETCH_STATUS=0
begin
print @temp_temp
fetch next from aaa into @temp_temp

end
----------------------------------- 关闭游标    
Close aaa    
----------------------------------- 删除游标    
Deallocate aaa
declare @temp_temp uniqueidentifier--临时变量    
DECLARE aaa CURSOR for select Id from A
-------------------打开游标
open aaa
--先查询一次再循环,防止有多个游标时@@FETCH_STATUS=-1不能进入下个游标循环的情况
fetch next from aaa into @temp_temp
-------------------循环取数据
while @@FETCH_STATUS=0
begin
print @temp_temp
fetch next from aaa into @temp_temp

end
----------------------------------- 关闭游标    
Close aaa    
----------------------------------- 删除游标    
Deallocate aaa

1.

  

  

  消息 16951,级别 16,状态 1,过程 usp_proc,第 16 行
      变量 '@myref' 不可能用作参数,因为在实行该进度前,不得为 CU中华VSOEscort OUTPUT 参数分配游标。

游标的嵌套

游标的嵌套

  这么些题材是自家在调用多少个递归的、输出cursor output 的仓库储存进程

declare @temp_temp uniqueidentifier--临时变量    
DECLARE aaa CURSOR for select Id from A
-------------------打开游标
open aaa
--先查询一次再循环,防止有多个游标时@@FETCH_STATUS=-1不能进入下个游标循环的情况
fetch next from aaa into @temp_temp
-------------------循环取数据
while @@FETCH_STATUS=0
begin
print @temp_temp
    --===========================游标嵌套 
    DECLARE bbb CURSOR for select Id from B
    -------------------打开游标
    open bbb
    --先查询一次再循环,防止有多个游标时@@FETCH_STATUS=-1不能进入下个游标循环的情况
    fetch next from bbb into @temp_temp
    -------------------循环取数据
    while @@FETCH_STATUS=0
    begin
    print @temp_temp
    fetch next from bbb into @temp_temp

    end
    ----------------------------------- 关闭游标    
    Close bbb    
    ----------------------------------- 删除游标    
    Deallocate bbb
    --===========================游标嵌套
fetch next from aaa into @temp_temp

end
----------------------------------- 关闭游标    
Close aaa    
----------------------------------- 删除游标    
Deallocate aaa
declare @temp_temp uniqueidentifier--临时变量    
DECLARE aaa CURSOR for select Id from A
-------------------打开游标
open aaa
--先查询一次再循环,防止有多个游标时@@FETCH_STATUS=-1不能进入下个游标循环的情况
fetch next from aaa into @temp_temp
-------------------循环取数据
while @@FETCH_STATUS=0
begin
print @temp_temp
    --===========================游标嵌套 
    DECLARE bbb CURSOR for select Id from B
    -------------------打开游标
    open bbb
    --先查询一次再循环,防止有多个游标时@@FETCH_STATUS=-1不能进入下个游标循环的情况
    fetch next from bbb into @temp_temp
    -------------------循环取数据
    while @@FETCH_STATUS=0
    begin
    print @temp_temp
    fetch next from bbb into @temp_temp

    end
    ----------------------------------- 关闭游标    
    Close bbb    
    ----------------------------------- 删除游标    
    Deallocate bbb
    --===========================游标嵌套
fetch next from aaa into @temp_temp

end
----------------------------------- 关闭游标    
Close aaa    
----------------------------------- 删除游标    
Deallocate aaa
create proc usp_proc(
@level int
@myref cursor varying output
)
as
begin
    if @level=3
        begin
             set @myref=cursor local static for
            select * from table
            open @myref
        end
     if @level<3
        begin
        declare @cur cursor
        exec usp_proc 2 @cur output --递归
        --
        --对输出游标@cur做一些操作
        --
        --使用完游标
        close @cur  --关闭游标
        deallocate @cur --删除游标
        end
end            

  

  

倘诺未有对输出的游标做close、deallocate管理就能够现出上边错误。

2.

  未有为@cur,分配游标

  这么些标题是自个儿在选用存款和储蓄进程再次来到的游标 cursor output 发生的

  

create proc myproc(
@mycur cursor varying output
)
as
begin
set @mycur=cursor local static  for
select * from table

open @mycur --打开游标
end

--调用myproc
declare @cur cursor
exec myproc @cur output
fetch next from @cur
while @@fetch_status=0
    begin
    --使用游标
    fetch next from @cur
    end 

出现上述错的原因便是概念游标后需求开发 open @mycur

本文由澳门太阳娱乐集团官网发布于数据库,转载请注明出处:sqlserver 使用游标进度中冒出的一无是处

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文