sql >> Base de Datos >  >> RDS >> Oracle

Lectura de la variable clob línea por línea

Me parece una buena idea:llamar a un proceso almacenado una vez con el clob y hacer que este llame al otro proceso dedicado a manejar una sola línea podría ahorrar algo de E/S entre su servidor de aplicación y el de la base de datos.

Tengo un procedimiento muy simple para dividir un clob línea por línea:

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

que da, como se esperaba:

    PATTERN
1   azertyuiop
2   qsdfghjklm
3   wxcvbn

Puede usar esta consulta en su primer proceso almacenado dentro de un for line in () para llamar a su segundo procedimiento línea por línea.