我是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控制中心进行编译?
感谢
答案 0 :(得分:0)
可能你没有指定字符分隔符。如果您正在使用db2 clp,请确保该过程以@结束,然后将其调用为名为procedure.sql的文件
db2 -td@ -f procedure.sql