SET SERVEROUTPUT ON DECLARE --カーソルタイプの定義 TYPE typeMyCursor IS REF CURSOR; --カーソル変数の定義 curHoge typeMyCursor; --INTOで受け取る変数 WK_MONEY Hoge.money%TYPE; --SQL生成用 WK_SQL VARCHAR(2000); BEGIN --動的SQL文の作成 WK_SQL := 'SELECT money FROM Hoge'; --カーソルオープン OPEN curHoge FOR WK_SQL; LOOP FETCH curHoge INTO WK_MONEY; EXIT WHEN curHoge%NOTFOUND; DBMS_OUTPUT.PUT_LINE(WK_MONEY); END LOOP; CLOSE curHoge; END; /
「IS REF CURSOR」でタイプを宣言しておくこと&オープン時にFor句でSQL文を指定することがポイント。