明示的なカーソル

参考は以下。

https://www.shift-the-oracle.com/plsql/cursor-loop.html

--
-- 指定行数だけ昇順IDを表示
--
SET SERVEROUTPUT ON

DECLARE
  --  引数なしの場合は()もいらない
  CURSOR cX(MAX NUMBER := 100) IS
    SELECT ROWNUM, A.*
      FROM (SELECT ID FROM B WHERE FLAG <> 1 ORDER BY ID) A
     WHERE ROWNUM BETWEEN 0 AND MAX;
BEGIN
  -- デフォルト100。値を指定する場合はcX(500)とかする
  FOR vRec IN cX() LOOP 
    DBMS_OUTPUT.PUT_LINE('ID=' || vRec.ID);
  END LOOP;
END;
/