3

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

我怎样才能做到这一点?

4

2 回答 2

4

游标是 SQL 语句的只读句柄。游标没有数据。您不能将数据附加到游标。对游标唯一能做的就是获取下一行。

您可以将用于打开游标的 SQL 语句更改为UNION两个不同的 SQL 语句,即

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

RETURN rc;
于 2013-03-01T05:20:28.323 回答
0

我不知道程序返回值是如何在这里看到的,这里使用的是简单的 ref_cursor

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;
   / 
于 2013-03-01T06:04:52.783 回答