为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:WINDOWS
【CPU】:
【问题描述】*执行完动态sql 返回多个结果集
CREATE OR REPLACE PROCEDURE T_1208(TAB VARCHAR(100),COL VARCHAR(100),ID INT)
AS
TYPE ZQH IS TABLE OF SYSDBA.D_I%ROWTYPE;–定义集合类型
Z ZQH;
BEGIN
EXECUTE IMMEDIATE 'SELECT * FROM ‘||TAB||’ WHERE ID>? ’ BULK COLLECT INTO Z USING ID;
PRINT Z(1).ID;
END;
使用BULK COLLECT参数结合集合类型数据可以将多行数据返回给动态SQL中的Z对向。

execute immediate …INTO 语句要求查询只能返回一条记录,执行时可能会发生两种例外情况:
异常必须做出相应处理,否则会影响 DMSQL 程序的正确执行。