Zdá se mi to jako dobrý nápad:zavolat jednou uložený proces pomocí clob a provést toto volání druhého procesu určeného pro obsluhu jedné linky by mohlo ušetřit nějaké I/O mezi vaším aplikačním serverem a DB.
Mám velmi jednoduchý postup, jak rozdělit clob řádek po řádku:
create table test (c clob);
insert into test (c) values (
'azertyuiop
qsdfghjklm
wxcvbn
');
select to_char(regexp_substr(test.c, '.+', 1, level)) pattern
from test
connect by level <= regexp_count(test.c, '.+');
což podle očekávání dává:
PATTERN
1 azertyuiop
2 qsdfghjklm
3 wxcvbn
Tento dotaz můžete použít ve svém prvním uloženém procesu v for line in ()
zavoláte svůj 2. postup řádek po řádku.