Es scheint mir eine gute Idee zu sein:Einen gespeicherten Proc einmal mit dem Clob aufzurufen und diesen den anderen Proc aufrufen zu lassen, der für die Verarbeitung einer einzelnen Zeile bestimmt ist, könnte einige E / A zwischen Ihrem Anwendungsserver und dem DB-Server einsparen>
Ich habe ein sehr einfaches Verfahren, um einen Clob Zeile für Zeile aufzuteilen:
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, '.+');
was wie erwartet ergibt:
PATTERN
1 azertyuiop
2 qsdfghjklm
3 wxcvbn
Sie können diese Abfrage in Ihrer ersten gespeicherten Prozedur innerhalb eines for line in ()
verwenden um Ihre 2. Prozedur zeilenweise aufzurufen.