SQLCODE = -501,带有Cursor的SQLSTATE = 24501

时间:2014-12-12 07:35:34

标签: db2

我写了一个程序。我收到以下错误。 有人可以帮我这个。

Create procedure p1()

declare cur1 cursor WITH HOLD for STMT1;

DECLARE CONTINUE HANDLER FOR SQLSTATE '24501' 
BEGIN
OPEN index_list ;
set exitcode = 1;

END ;  

set TEXT =();
PREPARE STMT1 FROM TEXT;     

OPEN cur1 ;

 FETCH FROM cur1 INTO VAR2,
                            VAR1 ;

 WHILE (SQLCODE = 0)
       DO
        EXECUTE IMMEDIATE 'SET PASSTHRU SAMPLE' ;
        ----
        -----
        EXECUTE IMMEDIATE 'SET PASSTHRU RESET' ;       

FETCH FROM cur1 INTO VAR2,
                            VAR1 ; 

END WHILE;

这是我的代码大纲。我的问题是在'SET PASSTHRU RESET'之后,光标正在关闭&第二次获取失败,出现以下错误。我将curos指定为WITH HOLD选项。

错误: FETCH语句或CLOSE语句中指定的游标未打开或游标标量函数引用中的游标变量未打开.SQLCODE = -501,SQLSTATE = 24501,DRIVER = 4.17.30 常规运行失败。

有人可以告诉我,我必须在这里添加。 我是db2&的新蜜蜂。从未遇到过这种情况。这就是我问专家的原因。

0 个答案:

没有答案