【发布时间】:2021-06-02 12:45:36
【问题描述】:
我正在查看Db2 LUW feature "returning result sets from SQL",它的工作方式似乎与 MySQL、SQL Server 中的工作方式相似,方法是从任何过程逻辑运行简单的SELECT,或者在 Oracle 中使用 DBMS_SQL.RETURN_RESULT。以下匿名块似乎是有效的:
BEGIN
DECLARE i INTEGER DEFAULT 1;
WHILE i < 10 DO
BEGIN
DECLARE cur CURSOR WITH RETURN TO CLIENT FOR SELECT i FROM sysibm.dual;
OPEN cur;
SET i = i + 1;
END;
END WHILE;
END
然而,它产生了这个警告,并且没有结果被获取。 DBeaver:
过程“BEGIN...END”返回“9”个查询结果集,超出了定义的限制“0”.. SQLCODE=464, SQLSTATE=0100E, DRIVER=4.26.14
如果这是一个程序,我必须声明:
动态结果集 n
但是我怎样才能在匿名块中声明呢?
【问题讨论】: