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"