INSERT INTO SELECT
で要件を実装できる場合 句を使用すると、forall
を使用する必要もありません。 およびbulk collect
ステートメント。 「SQLで実行できる場合は、SQLで実行」ということわざがあります。 "。
ただし、状況によっては、データを行ごとに処理する必要がある場合があります。これにより、ループのコーディングが強制される可能性があります。これは実際にはひどいことです。つまり、そのループ内の操作は、1回のステートメントとして実行されます。ただし、forall
を使用する場合 、PL / SQLエンジンは、セットベースの方法でループを実行します。これにより、パフォーマンスが大幅に向上します。