引数ありのカーソル定義

PL*SQLでカーソルを定義するときには

CURSOR my_cursor IS
SELECT
*
FROM
my_table;

とかやりますが、このカーソル定義に引数がとれることを知りませんでした。例えば引数の日付に一致するカーソルを定義するとこのようになります。

CURSOR my_cursor (target_date DATE) IS
SELECT
*
FROM
my_table
WHERE
my_date = target_date;

呼出元では

FOR my_record IN my_cursor(SYSDATE) LOOP
END LOOP;

というような感じになります。応用が利かないようで利くPL*SQLです。

1件のコメント

コメントする

メールアドレスが公開されることはありません。