设为首页 - 加入收藏 PHP编程网 - PHP站长网 (http://www.52php.cn)- 电商,百科,编程,业界,移动互联,5G,云计算,站长网!
热搜: 娱乐 服务 百度 java
当前位置: 首页 > 站长百科 > 正文

oracle – 将游标数据合并为一个

发布时间:2021-05-14 04:19 所属栏目:[站长百科] 来源:网络整理
导读:我有几次执行另一个存储过程的存储过程.我需要联合并返回数据,这是我在执行第二个程序后得到的. 我能以某种方式将来自多个游标的数??据合并到另一个游标中吗?没有临时表或类似表的数据类型是可能的吗? 编辑:union的游标数实际上是n(其中n是1,2,3等,由另

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

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

编辑:union的游标数实际上是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

解决方法

不,这是不可能的.在AskTom有关于这个问题的 a nice discussion,看看可能有一些解决方法可以帮助你.

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

推荐文章
热点阅读