zoukankan      html  css  js  c++  java
  • 【DB2】SQL0501N FETCH 语句或 CLOSE 语句中指定的游标尚未打开,或者游标标量函数引用中的游标变量尚未打开。 SQLSTATE=24501

    在DB2中建立存储过程时使用了隐式游标,在调用的时候报错如下:

     SQL0501N  FETCH 语句或 CLOSE 语句中指定的游标尚未打开,或者游标标量函数引用中的游标变量尚未打开。  SQLSTATE=24501
    相关环境

    ------表
    CREATE TABLE GH(ID VARCHAR(100));
    
    ----存储过程
    CREATE PROCEDURE UP_GET_ALL
    BEGIN
      FOR V1 AS cursor1 CURSOR for  SELECT DISTINCT ID FROM t_m
     DO 
     INSERT INTO GH VALUES(V1.ID);
      COMMIT;
     END FOR ;    
    end;

    在执行过程中,存储过程编译没问题,但是调用后出现问题了。

    解决办法

    将存储过程中的COMMIT放到END FOR后边即可。

    问题分析:在嵌套的存储过程中也没有COMMIT操作(任何一个commit操作会导致所有的游标被关闭)

  • 相关阅读:
    http
    python的列表生成式
    flask的登陆验证
    脚本更新流程
    k8s中job和pod的区别
    k8s中一些常见概念
    supervisord部署和使用
    flask中config
    python类的继承super()的使用
    python中类的继承
  • 原文地址:https://www.cnblogs.com/OliverQin/p/6632840.html
Copyright © 2011-2022 走看看