引数ありのカーソル定義
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です。