複数のカーソルを実行できるストアド プロシージャが必要です。
各カーソルをループしてから、各行で何らかの操作を行います。
このようにして、これらのカーソルから目的の結果が得られます。このような複数のカーソルの結果は、他のいくつかの行と結合してからフィルターで除外し、最終的にそれらの行を proc から返す必要があります。
各 cusror と別のクエリには同じ列があることに注意してください。
オラクルでこれを行う方法がわかりません。
私を助けてください。
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;