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

Làm thế nào để viết tập lệnh chèn oracle với một trường là CLOB?

Hãy nhớ rằng chuỗi SQL không được lớn hơn 4000 byte, trong khi Pl / SQL có thể có chuỗi lớn đến 32767 byte. xem bên dưới để biết ví dụ về việc chèn một chuỗi lớn qua một khối ẩn danh mà tôi tin rằng sẽ làm được mọi thứ bạn cần.

lưu ý rằng tôi đã thay đổi varchar2 (32000) thành CLOB

set serveroutput ON 
CREATE TABLE testclob 
  ( 
     id NUMBER, 
     c  CLOB, 
     d  VARCHAR2(4000) 
  ); 

DECLARE 
    reallybigtextstring CLOB := '123'; 
    i                   INT; 
BEGIN 
    WHILE Length(reallybigtextstring) <= 60000 LOOP 
        reallybigtextstring := reallybigtextstring 
                               || '000000000000000000000000000000000'; 
    END LOOP; 

    INSERT INTO testclob 
                (id, 
                 c, 
                 d) 
    VALUES     (0, 
                reallybigtextstring, 
                'done'); 

    dbms_output.Put_line('I have finished inputting your clob: ' 
                         || Length(reallybigtextstring)); 
END; 

/ 
SELECT * 
FROM   testclob; 


 "I have finished inputting your clob: 60030"


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm BITAND () trong Oracle

  2. Kết nối bằng Oracle SQL

  3. Làm cách nào để kiểm tra xem một cột có tồn tại hay không trước khi thêm nó vào bảng hiện có trong PL / SQL?

  4. Gọi thủ tục được lưu trữ Oracle với tham số đầu ra từ SQL Server

  5. Cách tìm các con trỏ đang mở hiện tại trong Oracle