The problem is that you can not put a text block so large within a plsql block.
See this example:
Select all
declare
t clob;
begin
t:= lpad('1', 4000, '1');
t:=t||lpad('2', 4000, '2');
t:=t||lpad('3', 4000, '3');
t:=t||lpad('4', 4000, '4');
t:=t||lpad('5', 4000, '5');
t:=t||lpad('6', 4000, '6');
t:=t||lpad('7', 4000, '7');
t:=t||lpad('8', 4000, '8');
t:=t||lpad('9', 4000, '9');
t:=t||lpad('0', 4000, '0');
--insert com variavel
insert into thomas values (3, t );
commit;
end;
See how he inserted 40,000 characters:
Select all
SQL> select a.*, length(a.c) from thomas a;
N C LENGTH(A.C)
---------- --------------------------------------- -----------
1 teste1 24
teste2
teste3
2 teste1 26
teste 2
teste 3
3 111111111111111111111111111111111111111 40000
SQL>
]
In summary, I believe you will have to break in smaller blocks that your super text.
or put the information within a table.
is an idea.