Re: ORA-01722: invalid number

  • From: "Mladen Gogala" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "mgogala@xxxxxxxxx" for DMARC)
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Fri, 30 Jan 2015 17:18:13 -0500

On 01/30/2015 06:18 AM, Jose Soares wrote:
Hi all,
I have a strange error that I can't understand
when I try to insert a row into the table below, I get this error:

(DatabaseError) ORA-01722: invalid number
"INSERT INTO fattura_master (sezionale, anno, numero, data_emissione) VALUES ('04', 2015, 9999, current_date)"


here's the table schema:

name | type | length| nullable| default --------------------------+ ---------------------------+ ------+ --------+ ------------------ tipo_documento | nvarchar2 | 1 | Y | NULL sezionale | nvarchar2 | 3 | N | NULL anno | number | 0 | N | NULL numero | number | 0 | N | NULL data_emissione | date | 0 | N | NULL data_competenza | date | 0 | Y | NULL tipo_pagamento | nvarchar2 | 5 | Y | NULL data_pagamento | date | 0 | Y | NULL importo_pagato | number | 0 | Y | '0.0' bollo | number | 0 | Y | '0.0' note | nvarchar2 | 200 | Y | NULL ced | number | 0 | Y | NULL id_anagrafica_sede_fiscale| number | 0 | Y | NULL intestazione | nvarchar2 | 100 | Y | NULL indirizzo | nvarchar2 | 100 | Y | NULL cap | nvarchar2 | 5 | Y | NULL comune | nvarchar2 | 100 | Y | NULL provincia | nvarchar2 | 2 | Y | NULL codice_fiscale | nvarchar2 | 16 | Y | NULL partita_iva | nvarchar2 | 11 | Y | NULL id_distretto | number | 0 | Y | NULL istat | nvarchar2 | 6 | Y | NULL iva | number | 0 | Y | '0.0' aliquota_iva | number | 0 | Y | NULL imponibile | number | 0 | Y | '0.0' enpav_iva | number | 0 | Y | '0.0' fuori_campo | number | 0 | Y | '0.0' enpav_fc | number | 0 | Y | '0.0' rif_nr_na | number | 0 | Y | NULL rif_aa_na | number | 0 | Y | NULL codice_cliente | nvarchar2 | 15 | Y | NULL codice_attivita | nvarchar2 | 10 | Y | NULL ts_ultima_modifica | timestamp(6) with time zone| 0 | Y | CURRENT_TIMESTAMP id_operatore | number | 0 | Y | NULL
(34 rows)

index_type | index_name   | uniqueness| column_name| column_position
-----------+ -------------+ ----------+ -----------+ ---------------
primary key| sys_c00116651| unique    | sezionale  | 1
primary key| sys_c00116651| unique    | anno       | 2
primary key| sys_c00116651| unique    | numero     | 3
--------------------------------------------------------------------------------------------------------------------
thanks for any help.

j
--
//www.freelists.org/webpage/oracle-l


To be exact, you can investigate by doing something like this:

SQL> alter session set events='01722 trace name errorstack forever, level 16';

Session altered.

That will produce a trace when you encounter ORA-01722. Alert log will contain the trace file:


2015-01-30 17:09:15.858000 -05:00
Errors in file /oracle/diag/rdbms/ora12c/ora12c/trace/ora12c_ora_22622.trc:
ORA-01722: invalid number


Check the trace file to figure out the precise SQL causing the trouble.

--
Mladen Gogala
Oracle DBA
http://mgogala.freehostia.com

--
//www.freelists.org/webpage/oracle-l


Other related posts: