Search code examples
oracle-databaseplsqlclob

Getting error ORA-06502: PL/SQL: numeric or value error


I am getting

ORA-06502: PL/SQL: numeric or value error in below code:

record_state := record_state || 'Inserting record Entry for student: ' || 
                roll_no || ' for date: ' || To_Char(admission_date,'yyyymmdd') ||
                ' @ ' || TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') || CHR(10);

Below are the datatypes:

roll_no        - NUMBER(10,0)
admission_date - TIMESTAMP(6)
record_state   - CLOB

Solution

  • You need to use to_clob to convert string to clob and then you can concat two clobs as following:

    record_state := record_state || 
                    to_clob(
                            'Inserting record Entry for student: ' || roll_no || ' for date: ' || To_Char(admission_date,'yyyymmdd') || ' @ ' || TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') || CHR(10)
                           );
    

    Cheers!!