バルクSQLは、PL/SQLとSQL間の通信のパフォーマンス・オーバーヘッドを最小化するために用います。バルクSQLを構成するPL/SQL機能は、FORALL文およびBULK COLLECT句です。FORALL文は、DML文をPL/SQLからSQLに1文ずつではなくバッチで送信します。
FOR LOOP文のDELETE文
BEGIN FORALL i IN depts.FIRST..depts.LAST DELETE FROM employees_temp WHERE department_id = depts(i); END;
通常、FORALL文は、同等のFOR LOOP文よりはるかに高速です。ただし、FOR LOOP文には複数のDML文を含めることができますが、FORALL文に含めることができるDML文は1つのみです。
|