Nếu bạn có thể thực hiện yêu cầu của mình bằng INSERT INTO SELECT
, bạn thậm chí không cần sử dụng forall
và bulk collect
các câu lệnh. Có một câu nói, " Nếu bạn có thể làm điều đó trong SQL, hãy làm điều đó trong SQL ".
Nhưng trong một số tình huống, bạn có thể cần phải xử lý dữ liệu của mình theo từng hàng, điều này có thể buộc bạn phải viết mã một vòng lặp. Điều này thực sự khủng khiếp, nó có nghĩa là các hoạt động của bạn trong vòng lặp đó sẽ được thực thi dưới dạng các câu lệnh đơn lẻ. Nhưng nếu bạn sử dụng forall
, Công cụ PL / SQL sẽ chạy vòng lặp của bạn theo kiểu dựa trên bộ, điều này sẽ giúp bạn tăng hiệu suất thực sự tốt.