Oracle
 sql >> Database >  >> RDS >> Oracle

raccolta in blocco ...per tutti gli usi

Se puoi implementare il tuo requisito con un INSERT INTO SELECT clausola, non è nemmeno necessario utilizzare forall e bulk collect dichiarazioni. C'è un detto:"se puoi farlo in SQL, fallo in SQL ".

Ma in alcune situazioni, potrebbe essere necessario elaborare i dati riga per riga, il che può costringerti a codificare un ciclo. Questo è in realtà terribile, significa che le tue operazioni all'interno di quel ciclo verranno eseguite come singole istruzioni su un over. Ma se usi forall , il motore PL/SQL eseguirà il tuo ciclo in modo set-based, il che ti darebbe un ottimo aumento delle prestazioni.