我需要有可以运行多个游标的存储过程。
循环遍历每个游标,然后对每一行进行一些操作。
这样,我将从这些游标中获得所需的结果。这样多个游标的结果需要与其他一些行联合,然后过滤掉并最终从 proc 返回这些行。
请注意,每个 cusror 和另一个查询将具有相同的列。
我不确定如何在 oracle 中执行此操作。
请帮帮我。
create or replace PROCEDURE test_proc
(
-- some inputs
hc_cursor OUT SYS_REFCURSOR
)
IS
cursor cursor_one is
SELECT * FROM table_one ;
BEGIN
FOR current_row in cursor_one
loop
-- do some modification on each row and return each modified row
end loop;
cursor cursor_two is
SELECT * FROM table_one ;
BEGIN
FOR current_row in cursor_two
loop
-- do some modification on each row and return each modified row
-- append to result from first cursor
end loop;
-- union results from both these cusrors with some another query
-- now filter these records on some criterais
-- return finally
END;