使用游标变量无法在DB2LUW中获取数据

使用游标变量无法在DB2LUW中获取数据,db2,db2-400,db2-luw,Db2,Db2 400,Db2 Luw,我需要使用弱类型游标变量。在下面的示例代码中,我在调用存储过程时执行该代码以返回out变量count,我可以看到结果状态,它已成功执行,但不返回任何值 CREATE OR REPLACE PROCEDURE p(OUT count INT) LANGUAGE SQL SPECIFIC P NOT DETERMINISTIC READS SQL DATA BEGIN DECLARE C1 cursor; DECLARE lvarInt INT DEFAULT 0; SET count

我需要使用弱类型游标变量。在下面的示例代码中,我在调用存储过程时执行该代码以返回out变量count,我可以看到结果状态,它已成功执行,但不返回任何值

CREATE OR REPLACE PROCEDURE p(OUT count INT)
LANGUAGE SQL
SPECIFIC P
NOT DETERMINISTIC 
    READS SQL DATA 
BEGIN
DECLARE C1 cursor;
DECLARE lvarInt INT DEFAULT 0;
SET count = -1;
SET c1 = CURSOR FOR SELECT 1 FROM sysibm.sysdummy1;
IF (c1 IS NOT OPEN) THEN

OPEN c1;
ELSE
set count = -2;
END IF;
set count = 0;
IF (c1 IS OPEN) THEN
FETCH c1 into lvarInt;
WHILE (c1 IS FOUND) DO
SET count = count + 1;
FETCH c1 INTO lvarInt;
END WHILE;
ELSE
SET count = 0;
END IF;
END@
--CALL p(?)@

对于示例代码,输出参数将设置为1。如果这没有发生,那么有些事情你没有告诉我们。。。