gpt4 book ai didi

oracle - 将游标中的数据合并为一个

转载 作者:行者123 更新时间:2023-12-02 03:18:57 25 4
gpt4 key购买 nike

我有一个存储过程,它多次执行另一个存储过程。我需要联合并返回数据,这是执行第二个过程后得到的。

我可以通过某种方式将多个游标中的数据合并到另一个游标中吗?没有临时表或类表数据类型是否可能?

编辑:联合的游标计数实际上是n(其中n是1、2、3等,由另​​一个过程检测)。

例如:

CREATE OR REPLACE PROCEDURE proc_data
( data_out OUT SYS_REFCURSOR
) IS
BEGIN
OPEN data_out FOR SELECT '1' NUM FROM dual;
END;
/

CREATE OR REPLACE PROCEDURE proc_result
( data_out OUT SYS_REFCURSOR
) IS
data1 SYS_REFCURSOR;
data2 SYS_REFCURSOR;
BEGIN
PROC_DATA(data1);
PROC_DATA(data2);
-- select data1 and data2 into data_out - how?
END;
/

SET SERVEROUTPUT ON

DECLARE
data_out SYS_REFCURSOR;
temp_row VARCHAR2(10);
BEGIN
PROC_RESULT(data_out);
LOOP
FETCH data_out INTO temp_row;
EXIT WHEN data_out%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(temp_row);
END LOOP;
CLOSE data_out;
END;
/

预期输出:

---
1
1

最佳答案

不,这是不可能的。有a nice discussion在 AskTom 关于这个问题,看看那里提供的一些解决方法也许可以帮助您。

关于oracle - 将游标中的数据合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4085014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com