Se você puder implementar seu requisito por um
INSERT INTO SELECT
cláusula, você nem precisa usar forall
e bulk collect
declarações. Existe um ditado, "se você pode fazer isso em SQL, faça-o em SQL ". Mas em algumas situações, você pode precisar processar seus dados linha por linha, o que pode forçá-lo a codificar um loop. Isso é realmente terrível, significa que suas operações dentro desse loop serão executadas como instruções únicas sobre um over. Mas se você usar
forall
, o mecanismo PL/SQL executará seu loop de maneira baseada em conjunto, o que lhe daria um aumento de desempenho muito bom.