Det ser ud til at være en god idé for mig:At kalde en lagret proc én gang med cloben og få denne til at kalde den anden proc dedikeret til at håndtere en enkelt linje kunne spare noget I/O mellem din applikative server og DB-serveren.
Jeg har en meget enkel procedure til at opdele en klump linje for linje:
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, '.+');
hvilket giver som forventet:
PATTERN
1 azertyuiop
2 qsdfghjklm
3 wxcvbn
Du kan bruge denne forespørgsel i din 1. lagrede proc inde i en for line in ()
at ringe til din 2. procedure linje for linje.