Добрый день.
Есть потребность сформировать скрипт в clob из столбцов таблицы.
В таблице идет выборка по 100К строк.
Написала процедуру, но сам процесс удручает своей медлительностью.
Подскажите, пожалуйста, как переписать, чтобы ускорить работу?
function print_xx (p_id number) return clob
is
x clob;
begin
for i in ( select * from TT where A = p_id order by idx )
LOOP
x:=x||'begin '||
''''||to_char(i.a) ||''', '||
''''||to_char(i.b) ||''', '||
''''||to_char(i.c) ||''', '||
''''||to_char(i.d) ||'''); commit; end;'|| UTL_TCP.crlf ||'/'||UTL_TCP.crlf;
END LOOP;
x:= x||'quit;';
return x;
end;
Смотрела в сторону
http://psoug.org/reference/array_processing.html, но там должен быть DML после FORALL.
Еще думала коммитить каждые n строк.