create table TEST_ (
col char(16)
)
Table created.
declare
procedure proc(pcol in test_.col%type) is
r test_%rowtype;
begin
dbms_output.put_line('pcol length: ' || length(pcol));
select pcol
into r.col
from dual;
end;
begin
proc('XXXXXXXXXXXXXXXX');
end;
Table created.
declare
procedure proc(pcol in test_.col%type) is
r test_%rowtype;
begin
dbms_output.put_line('pcol length: ' || length(pcol));
select pcol
into r.col
from dual;
end;
begin
proc('XXXXXXXXXXXXXXXX');
end;
ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at line 6 ORA-06512: at line 11 ORA-06512: at "SYS.DBMS_SQL", line 1721More Details: https://docs.oracle.com/error-help/db/ora-06502