0 Replies Latest reply on Feb 12, 2015 3:51 PM by Jochem.Smeets

    ORA-01722 Error on bind with insert clause Version 4.0.2.15

    Jochem.Smeets

      Table : "ARTIKEL_INDICATIES"

       

        CREATE TABLE "ALOIS"."ARTIKEL_INDICATIES"

         (    "ARTIKELNR" VARCHAR2(25 BYTE) NOT NULL ENABLE,

          "FIRMA" VARCHAR2(2 BYTE) NOT NULL ENABLE,

          "AANKOOP_INDICATIE" VARCHAR2(1 BYTE),

          "PRODUKTIE_INDICATIE" VARCHAR2(1 BYTE),

          "VERKOOP_INDICATIE" VARCHAR2(1 BYTE),

          "VOORRAAD_INDICATIE" VARCHAR2(1 BYTE),

          "PRODUKTIE_INDICATIE_PRIORITEIT" VARCHAR2(1 BYTE),

          "GEBRUIKER_ID_LAATSTE_WIJZIGING" VARCHAR2(20 BYTE),

          "TIJDSTIP_LAATSTE_WIJZIGING" DATE DEFAULT SYSDATE,

          "INACTIEFCODE" VARCHAR2(1 BYTE),

          "GEMEENSCHAPPELIJKE_VOORRAAD" VARCHAR2(1 BYTE) DEFAULT 0;

       

      When I execute the following statement

        INSERT INTO ARTIKEL_INDICATIES(ARTIKELNR,FIRMA)

        SELECT AI.ARTIKELNR, :AFDELING

        FROM ARTIKEL_INDICATIES AI

        WHERE FIRMA = :FIRMA

        AND ARTIKELNR = :ARTIKELNR

       

      Using SQL developer's bind variables popup screen :

      FIRMA = 02

      AFDELING = B5

      ARTIKELNR = SL01.000002

       

      I get the ORA-01722 Invalid number error :

      Error starting at line : 1 in command -

      INSERT INTO ARTIKEL_INDICATIES(ARTIKELNR,FIRMA)

        SELECT AI.ARTIKELNR, :AFDELING

        FROM ARTIKEL_INDICATIES AI

        WHERE FIRMA = :FIRMA

        AND ARTIKELNR = :ARTIKELNR

      Error report -

      SQL Error: ORA-01722: Ongeldig getal

      01722. 00000 -  "invalid number"

      *Cause:   

      *Action:

       

      However when I execute :

        INSERT INTO ARTIKEL_INDICATIES(ARTIKELNR,FIRMA)

        SELECT AI.ARTIKELNR, :AFDELING

        FROM ARTIKEL_INDICATIES AI

        WHERE FIRMA = '02'

        AND ARTIKELNR = :ARTIKELNR

       

      Using SQL developer's bind variables popup screen :

      AFDELING = B5

      ARTIKELNR = SL01.000002

       

      It works fine. 1 rows inserted.

       

      As far as I can figure out. The bind tries to convert 02 to a number ? Which makes no sense. The FIRMA column is defined as a Varchar2. How can I force the bind variables popup to accept 02 as a string?