Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: ORA-06502: PL/SQL: numeric or value error: character to number conversion error

Re: ORA-06502: PL/SQL: numeric or value error: character to number conversion error

From: <frank.van.bortel_at_gmail.com>
Date: 4 Sep 2006 06:10:39 -0700
Message-ID: <1157375439.837395.136200@i42g2000cwa.googlegroups.com>

abhishek.ankur_at_gmail.com schreef:

> HI everybody
>
> Plz help me out. I am stuck in a section of code.
> I have created a procedure which gets called from a trigger. The
> procedure is taking an INPUT parameter from the trigger and calculating
> some value.
>
> Here is the code for my procedure
>
>
> CREATE or REPLACE PROCEDURE generate_ISBN13
> (
> p_in_isbn10 IN a_masterisbn.Full_ISBN%TYPE)
> IS
> v_isbn13 VARCHAR2(17);
> v_t1 VARCHAR2(2);
> v_t2 VARCHAR2(15);
> v_t3 VARCHAR2(20);
> v_t4 VARCHAR2(15);
> v_t5 NUMBER(15);
> v_a NUMBER(1);
> v_b NUMBER(1);
> v_sum NUMBER(4) := 0;
> v_checkd NUMBER(1);
> v_last VARCHAR2(2);
> BEGIN
> v_t1 := substr(p_in_isbn10,12,1);
> v_t2 := RTRIM(p_in_isbn10,v_t1);
> v_t3 := '978-'||v_t2;
> v_t4 := replace(v_t3,'-','');
> v_t5 := TO_NUMBER(v_t4);
> for v_counter in 1 .. 6 Loop
> v_a := mod(v_t5,10);
> v_sum := v_sum + (v_a * 3);
> v_t4 := trunc(v_t5/10);
> v_b := mod(v_t5,10);
> v_sum := v_sum + (v_b * 1);
> v_t4 := trunc(v_t5/10);
> END LOOP;
> v_checkd := mod(v_sum,10);
> v_last :='-'||v_checkd;
> v_isbn13 := concat(v_t3,v_last);
> INSERT into a_isbn_rel values(p_in_isbn10,v_len);
> END;
>
>
> p_in_isbn10 IN a_masterisbn.Full_ISBN%TYPE ........ a_masterisbn is a
> database table which has an attribute Full_ISBN.
And what type is that? Looks like non-varchar, hence the error Received on Mon Sep 04 2006 - 08:10:39 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US