Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Đọc biến clob từng dòng

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PL / SQL:Lỗi PLS-00306:sai số hoặc loại đối số trong lệnh gọi được kích hoạt cho bảng số

  2. Cập nhật một cột của cùng một bảng nếu có bản ghi trùng lặp

  3. Làm cách nào để chọn các cột từ bảng có giá trị không rỗng?

  4. Không thể trích xuất giá trị XML từ Oracle CBLOB

  5. Công việc Oracle DBMS không chạy