我在存储过程中有一个游标。我想从查询中选择一些数据并将该数据插入游标,然后再次从另一个查询中选择一些数据并将该数据附加到同一个游标中。
我怎样才能做到这一点?
游标是 SQL 语句的只读句柄。游标没有数据。您不能将数据附加到游标。对游标唯一能做的就是获取下一行。
您可以将用于打开游标的 SQL 语句更改为UNION
两个不同的 SQL 语句,即
OPEN rc FOR
SELECT <<column list>>
FROM table1
UNION ALL
SELECT <<column list>>
FROM table2;
RETURN rc;
我不知道程序返回值是如何在这里看到的,这里使用的是简单的 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;
/