Trong Oracle, bạn thường không cần sử dụng các bảng tạm thời toàn cục cho những việc này, thay vào đó bạn có thể sử dụng xử lý hàng loạt với các mảng:
declare
cursor c is
select col1, col2 from my_view;
type t is table of c%rowtype;
array t;
begin
open c;
loop
fetch c bulk collect into array limit 1000;
exit when array.count = 0;
for i in 1..array.count loop
null; -- Perform business logic on array(i) here
end loop;
forall i in 1..array.count
insert into final_table (col1, col2)
values (array(i).col1, array(i).col2);
end loop;
close c;
end;
Đó chỉ là một ví dụ nhỏ - xem bài viết này để biết thêm chi tiết.