db2存储过程返回引用游标

时间:2014-02-26 01:02:54

标签: sql db2

我是db2存储过程的新手,并且有一个关于创建返回引用游标的过程的问题(由java程序读取)。

我正在使用db2控制中心来尝试编译...

中的过程
CREATE OR REPLACE PROCEDURE EPOS.REP_MAN_DAILY_TRAN_COUNTS()
DYNAMIC RESULT SETS 1
READS SQL DATA
LANGUAGE SQL
BEGIN
DECLARE c CURSOR WITH RETURN TO CALLER FOR
select 'x' from sysibm.sysdummy1
union 
select 'p' from sysibm.sysdummy1;
OPEN c;
END

我收到错误说...

OPEN c DB21028E尚未声明游标“C”。

但我已宣布C ......所以我有点困惑。这个程序看起来不错吗?也许我无法使用db2控制中心进行编译?

感谢

1 个答案:

答案 0 :(得分:0)

可能你没有指定字符分隔符。如果您正在使用db2 clp,请确保该过程以@结束,然后将其调用为名为procedure.sql的文件

db2 -td@ -f procedure.sql