SQL文字列は4000バイトを超えることはできませんが、Pl/SQLは32767バイトまでの文字列を持つことができることに注意してください。匿名ブロックを介して大きな文字列を挿入する例については、以下を参照してください。これにより、必要なすべてのことが実行されると思います。
varchar2(32000)を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"