ORA-06502: PL/SQL: numeric or value error: number precision too large : ORA Error « System Packages « Oracle PL / SQL






ORA-06502: PL/SQL: numeric or value error: number precision too large

  
SQL> create table emp (
  2  id number(6) );

Table created.

SQL>
SQL> alter table emp
  2  add constraint emp_pk
  3  primary key (id);

Table altered.

SQL>
SQL>
SQL> create or replace procedure gen_emp is
  2   v_new_cid emp.id%type;
  3  begin
  4   loop
  5    begin
  6     v_new_cid := round(dbms_random.value(1000000,9999999));
  7     insert into emp values (v_new_cid);
  8     exit;
  9    exception when dup_val_on_index then
 10     null;
 11    end;
 12   end loop;
 13  end;
 14  /

Procedure created.

SQL>
SQL> set timing on
SQL> begin
  2   gen_emp;
  3   commit;
  4  end;
  5  /
begin
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: number precision too large
ORA-06512: at "JAVA2S.GEN_EMP", line 6
ORA-06512: at line 2


Elapsed: 00:00:00.07
SQL>
SQL> begin
  2   for i in 1 .. 100000 loop
  3   gen_emp;
  4   end loop;
  5   commit;
  6  end;
  7  /
begin
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: number precision too large
ORA-06512: at "JAVA2S.GEN_EMP", line 6
ORA-06512: at line 3


Elapsed: 00:00:00.06
SQL>
SQL> set timing off
SQL>
SQL> drop table emp;

Table dropped.

   
    
  








Related examples in the same category

1.ORA-00918: column ambiguously defined
2.ORA-00934: group function is not allowed here
3.ORA-00979: not a GROUP BY expression
4.ORA-01403: no data found
5.ORA-01403: no data found exception from procedure
6.ORA-01422: exact fetch returns more than requested number of rows
7.ORA-01426: numeric overflow
8.ORA-01839: date not valid for month specified
9.ORA-06502: PL/SQL: numeric or value error
10.ORA-06502: PL/SQL: numeric or value error: character to number conversion error
11.ORA-06503: PL/SQL: Function returned without value
12.ORA-14551: cannot perform a DML operation inside a query