Oracle11g 如何在oracle存储过程中手动将行添加到游标中

Oracle11g 如何在oracle存储过程中手动将行添加到游标中,oracle11g,Oracle11g,我在存储过程中有一个游标。我想从一个查询中选择一些数据并将该数据插入游标,然后再次从另一个查询中选择一些数据并将该数据附加到同一游标中 如何执行此操作?游标是SQL语句的只读句柄。游标没有数据。不能将数据附加到光标。使用光标可以做的唯一一件事就是获取下一行 您可以将用于打开游标的SQL语句更改为将两个不同的SQL语句合并在一起,即 OPEN rc FOR SELECT <<column list>> FROM table1 UNION ALL SEL

我在存储过程中有一个游标。我想从一个查询中选择一些数据并将该数据插入游标,然后再次从另一个查询中选择一些数据并将该数据附加到同一游标中


如何执行此操作?

游标是SQL语句的只读句柄。游标没有数据。不能将数据附加到光标。使用光标可以做的唯一一件事就是获取下一行

您可以将用于打开游标的SQL语句更改为将两个不同的SQL语句合并在一起,即

OPEN rc FOR 
  SELECT <<column list>>
    FROM table1
  UNION ALL
  SELECT <<column list>>
    FROM table2;

RETURN rc;

我不知道过程返回值是如何显示的,我使用的是简单的ref\u游标

create or replace function test_ref() return sys_refcursor is
     temp sys_refcursor;
   begin
     open temp for 'select * from hr.employees ;
     return v_rc;
   end;
   / 

简单游标还是ref_游标人?@Thiyagu-是的,简单游标,我想从存储过程中返回该游标。哈哈,所以没有人…在这种情况下,你必须使用ref_游标,还有其他方法吗want@NamanGoyal-我不太确定你到底想完成什么。正如我所说,这个问题的陈述没有多大意义。如果您能解释您正试图解决的业务问题,以及将两个未能解决问题的查询结果进行合并的意义,我们可能会提出一个替代方案。