Stored procedures 从收到的结果集(光标)返回SP中的结果集

Stored procedures 从收到的结果集(光标)返回SP中的结果集,stored-procedures,db2,sql-pl,Stored Procedures,Db2,Sql Pl,我想知道是否可以在存储过程中重新返回我从以前的存储过程中收到的结果集打开的游标 让我们假设 CREATE OR REPLACE PROCEDURE SP2 () RESULT SET 1 P_SP2: BEGIN DECLARE SENTENCE VARCHAR(128); DECLARE STMT STATEMENT; DECLARE CUR2 CURSOR WITH RETURN TO CALLER FOR RS; SET SENTENCE = 'S

我想知道是否可以在存储过程中重新返回我从以前的存储过程中收到的结果集打开的游标

让我们假设

 CREATE OR REPLACE PROCEDURE SP2 ()
   RESULT SET 1
 P_SP2: BEGIN
  DECLARE SENTENCE VARCHAR(128);
  DECLARE STMT STATEMENT;
  DECLARE CUR2 CURSOR
    WITH RETURN TO CALLER
    FOR RS;
  SET SENTENCE = 'SELECT CURRENT DATE FROM SYSIBM.SYSDUMMY1';
  PREPARE RS FROM SENTENCE;
  OPEN CUR2;
 END P_SP2@

 CREATE OR REPLACE PROCEDURE SP1 ()
   RESULT SET 1
 P_SP1: BEGIN
  DECLARE LOC1 RESULT_SET_LOCATOR VARYING;
  CALL SP2();
  ASSOCIATE RESULT SET LOCATORS (LOC1) WITH PROCEDURE SP2;
  ALLOCATE CUR1 CURSOR FOR RESULT SET LOC1;

  -- >>>>
  OPEN CUR1;
  -- <<<<

 END P_SP1 @
我不知道如何重新返回收到的结果集。我知道游标已经打开了,但是调用sp1时它不会返回

这些是内部sp调用,因此我无法更改返回到客户端的第一个游标


当使用RETURN TO CLIENT或RETURN TO CALLER声明游标时,您可以选择使用RETURN TO CLIENT

似乎我应该使用一个临时表,从游标上插入值,然后从临时表中打开一个新游标。其他选择?