Houd er rekening mee dat SQL-strings niet groter kunnen zijn dan 4000 bytes, terwijl Pl/SQL strings kan hebben die zo groot zijn als 32767 bytes. zie hieronder voor een voorbeeld van het invoegen van een grote string via een anoniem blok waarvan ik denk dat het alles zal doen wat nodig is.
let op ik heb de varchar2(32000) gewijzigd in 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"