0 0

db2 游标取值问题5

 CREATE PROCEDURE ip_add(in in_userId varchar(20),in in_sourceName INTEGER,OUT ipCollect varchar(500) )
    LANGUAGE SQL
     BEGIN
       DECLARE v_ipCollect varchar(500);
       DECLARE v_ip VARCHAR(50); 
       DECLARE at_end_s1 int default 0;                              -- 开关定义s1(默认开-可循环)
     
       DECLARE c1 CURSOR FOR
         select t.habitip from HABITLOGINIPCOLLECT t where t.flag='1' and t.userid=in_userId and t.sourcename=in_sourceName;
       
       DECLARE continue handler for not found set at_end_s1=1;     
         SET ipCollect = ',';
         SET v_ipCollect = '';
       OPEN c1;
         fetch_loop:
       LOOP
         FETCH c1 INTO v_ip;
           IF at_end_s1 = 1 THEN
             LEAVE fetch_loop;
           END IF;
         SET v_ipCollect = v_ipCollect||v_ip||',';
        
       END LOOP fetch_loop;
       SET ipCollect = v_ipCollect;
       CLOSE c1;
     END

 这段代码 会报 如下错误提示:

[错误] 脚本行:1-11 --------------------------------------
 [jcc][10120][10943][3.50.152] 操作无效:已关闭 statement。 ERRORCODE=-4470, SQLSTATE=null

 Execute:
      "DB2ADMIN"."IP_ADD"( [IN_USERID:=130221xxxxxxxx0223], [IN_SOURCENAME:=1], [IPCOLLECT:=(null)] )

 

DB2 
2013年6月18日 16:51
目前还没有答案

相关推荐

Global site tag (gtag.js) - Google Analytics