SQL> declare
2 vlob clob;
3 vhash varchar2(40);
4 begin
5 — PRIMEIRO COM POUCAS LINHAS
6 for x in 1 .. 100 loop
7 vlob := vlob || ‘X’;
8 end loop;
9 dbms_output.put_line(‘TAMANHO : ‘ || to_char(length(vlob)));
10 vhash := fnc_hash_md5(vlob);
11 dbms_output.put_line(‘ HASH : ‘ || vhash);
12 —
13 vlob := NULL;
14 vhash := NULL;
15 — AGORA ESTOURANDO O LIMITE
16 for x in 1 .. 40000 loop
17 vlob := vlob || ‘X’;
18 end loop;
19 dbms_output.put_line(‘TAMANHO : ‘ || to_char(length(vlob)));
20 vhash := fnc_hash_md5(vlob);
21 dbms_output.put_line(‘ HASH : ‘ || vhash);
22 end;
23 /
TAMANHO : 100
HASH : 13365e8e0a1669c0eb5882b4390f8eb4
TAMANHO : 40000
declare
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 20