バルクコレクトスクリプト
※コピーすると改行が抜ける場合はソースをダブルクリックして強調表示を外してからコピーしてください
set serveroutput on
DECLARE
BULK_NUM CONSTANT PLS_INTEGER := 5; --バルクサイズ
CURSOR CUR_EMP IS
SELECT ENAME FROM SCOTT.EMP ORDER BY EMPNO;
TYPE TYPE_EMP IS TABLE OF CUR_EMP%ROWTYPE INDEX BY BINARY_INTEGER;
REC_ENAME TYPE_EMP;
BEGIN
OPEN CUR_EMP;
LOOP
FETCH CUR_EMP BULK COLLECT INTO REC_ENAME LIMIT BULK_NUM;
DBMS_OUTPUT.PUT_LINE('フェッチ数:' || REC_ENAME.COUNT);
EXIT WHEN REC_ENAME.COUNT = 0;
FOR i in 1 .. REC_ENAME.COUNT
LOOP
DBMS_OUTPUT.PUT_LINE(REC_ENAME(i).ENAME);
END LOOP;
END LOOP;
DBMS_OUTPUT.PUT_LINE('合計フェッチ数:' || CUR_EMP%ROWCOUNT);
CLOSE CUR_EMP;
end;
/
マニュアル
Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス(10.2)PL/SQL ユーザーズ・ガイドおよびリファレンス(10.2)

折りたたみ
展開