Oracle
 sql >> Database >  >> RDS >> Oracle

Lettura della variabile clob riga per riga

Mi sembra una buona idea:chiamare una volta un proc memorizzato con il clob e fare questo chiamare l'altro proc dedicato alla gestione di una singola linea potrebbe far risparmiare un po' di I/O tra il tuo server applicativo e quello DB.

Ho una procedura molto semplice per dividere un clob riga per riga:

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, '.+');

che dà, come previsto:

    PATTERN
1   azertyuiop
2   qsdfghjklm
3   wxcvbn

Puoi utilizzare questa query nel tuo primo processo memorizzato all'interno di un for line in () per chiamare la tua 2a procedura riga per riga.