下面的见解是在使用游标的过程中做的日记

日期:2019-12-01编辑作者:北京pk10官网-数据库

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

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

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

本文由北京pk赛车官网下载发布于北京pk10官网-数据库,转载请注明出处:下面的见解是在使用游标的过程中做的日记

关键词:

从19991231到 orderdate之间先查多少月

1.返回 每月最后一天订单 SELECT orderid, orderdate, custid, empidFROM Sales.OrdersWHERE orderdate = EOMONTH(orderdate);  使用EMONTH 对输入...

详细>>

这些基本的数据库语言是很容易上手使用的

最近在做项目开发时用到了MySql数据库,在看了一些有关MySql的文章后,很快就上手使用了。在使用的过程中还是出现...

详细>>

但是没有找到配置的方法

介绍 以前没有太注意MySQL密码安全策略的配置方法,只是人为了将密码设为复杂密码,但是没有找到配置的方法,今...

详细>>

下面接着给大家介绍mysql 5.6密码强度插件使用

mysql 5.6对密码的强度进行了加强,推出了 validate_password插件。支持密码的强度要求。 安装办法: plugin-load=validate_pa...

详细>>