Có vẻ là một ý tưởng hay đối với tôi:gọi một proc được lưu trữ một lần với cục tắc và thực hiện lệnh này gọi proc kia dành riêng để xử lý một dòng duy nhất có thể lưu một số I / O giữa máy chủ ứng dụng của bạn và máy chủ DB.
Tôi có một thủ tục rất đơn giản để tách một dòng tắc nghẽn theo từng dòng:
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, '.+');
như mong đợi:
PATTERN
1 azertyuiop
2 qsdfghjklm
3 wxcvbn
Bạn có thể sử dụng truy vấn này trong proc được lưu trữ đầu tiên của mình bên trong for line in ()
để gọi từng dòng thủ tục thứ hai của bạn.