码迷,mamicode.com
首页 > 数据库 > 详细

sqlserver 使用游标过程中出现的错误

时间:2018-07-18 17:23:04      阅读:752      评论:0      收藏:0      [点我收藏+]

标签:oca   就会   col   过程   努力   set   游标   sel   exec   

下面的见解是在使用游标的过程中做的日记。我也是第一次使用,如果有什么不对的地方请批评指正,大家一起努力。

1.

  消息 16951,级别 16,状态 1,过程 usp_proc,第 16 行
      变量 ‘@myref‘ 不能用作参数,因为在执行该过程前,不得为 CURSOR OUTPUT 参数分配游标。

  这个问题是我在调用一个递归的、输出cursor output 的存储过程

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处理就会出现上面错误。

sqlserver 使用游标过程中出现的错误

标签:oca   就会   col   过程   努力   set   游标   sel   exec   

原文地址:https://www.cnblogs.com/jianghuaijie/p/9329324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!