ORA-20507: invalid numeric value

Hi all
I implement this excellent example: http://apex.oracle.com/pls/otn/f?p=48254:2:965943842947140:NO:P2_EMPNO:7369 #.
I am able to call the PopUp page and create the new value for the element. "My data is also backed up in my form Page, but I get a ' ORA-20507: invalid numeric value ' error message. Once, I check the table that the record has been inserted, but the error message continues to be displayed.
I saw the Forum and many State of discussions that it is a "to_number" which must be added to the logic in the application process. I tried this and have also tried logic V ("") for the Page element in the process of application, but without success. If anyone knows how to fix this your help is really needed, thanks.

Hi Charles,

The example of the 'new town' was based on the assumption that the city would be the value stored on the table rather than a foreign key.

I've updated your process to get the ID for the new item and pass back to the home page:

DECLARE
 vCOUNT NUMBER;
 vID NUMBER;
BEGIN
 IF :G_CLASS_NAME IS NOT NULL THEN
  SELECT COUNT(*) INTO vCOUNT FROM HRT_CLASS_NAME WHERE CLASS_NAME = :G_CLASS_NAME;
  IF vCOUNT = 0 THEN
   INSERT INTO HRT_CLASS_NAME (CLASS_NAME) VALUES (:G_CLASS_NAME);
  END IF;
  SELECT PK_CLASS_NAME_ID INTO vID
   FROM HRT_CLASS_NAME WHERE CLASS_NAME = :G_CLASS_NAME;
  HTP.PRN(vID);
 END IF;
END;

(Note that I had a lot of problems to actually make a value - the definition of the table displays the fields with a type of NUMBER(*,0) - I think that this should be just NUMBER - you might want to change these, I've updated PK_CLASS_NAME_ID)

The PTH. PRN (vID) line passes the PK of the folder to the javascript function call that past on it (the "ret" in the code value) return to the homepage and the new classname:

function saveClassName()
{
  var classname = document.getElementById('P3_CLASS_NAME').value;
 if (classname == '')
 {
  alert('You must enter in a name');
  return false;
 }
 else
 {
  var get = new htmldb_Get(null,$v('pFlowId'), 'APPLICATION_PROCESS=CREATE_CLASS_NAME',3);
  get.add('G_CLASS_NAME',classname);
  ret = get.get();
  opener.updateClassNameList(ret, classname);
  get = null;
  close();
 }
}

The function updateClassNameList on the homepage just must then use to create the list, select an option:

function updateClassNameList(newid, newclassname)
{
 var classnamelist = document.getElementById('P2_FK_CLASS_NAME_ID');
 appendToSelect(classnamelist, newid, newclassname);
 classnamelist.selectedIndex = classnamelist.options.length - 1;
}

Andy

Tags: Database

Similar Questions

  • ORA-12705: invalid parameter or unknown NLS value specified error in PL/SQL

    Everything works well, SQL * PLUS, shape and reports, but my PL/SQL Developer has stopped working.
    It is throwing this error when I try to connect.

    ORA-12705: invalid parameter or unknown NLS value specified error in PL/SQL developer


    How to fix this help please.

    First: most of the questions for Oracle products have a response depending on the version. In Oracle 11 g or 10g Oracle change the structure of their branch in the registry for example.

    Secondly, it seems that the registry is a little messy.
    Oracle for Windows identifies the part of the registry to use by reading the file
    % ORACLE_HOME%\bin\oracle. Key

    Probably with PL/SQL Developer, like PL/SQL Developer needs an Oracle customer, she will too.
    Of course, if this key points to a branch with NLS_LANG value NA this will result in questions, because this is not a valid value.
    %ORACLE_HOME%\Bin will usually be in your path

    ---------
    Sybrand Bakker
    Senior Oracle DBA

  • Merger with subquery causes ORA-38101 invalid column to INSERT the VALUES C

    What follows is a slightly shortened version of a SQL statement that causes the error.
              MERGE INTO applicant_matches m_table USING
              (
                   SELECT DISTINCT
                               s.student_id,
                               a.term_scope_id,
                               a.first_name,
                             a.last_name,
                             a.ssn_visa,
                             a.birth_date,
                             ...     
                         
              ) m_list ON
              (m_list.student_id =     m_table.student_id AND
                   m_list.first_name     =     m_table.first_name AND
                   m_list.last_name =     m_table.last_name AND
                   m_list.birth_date     =     m_table.birth_date AND
                   m_list.ssn_visa =     m_table.ssn_visa AND
                   m_list.term_scope_id =     m_table.term_scope_id)
    
              WHEN NOT MATCHED THEN
                     INSERT (m_table.student_id, m_table.term_scope_id, m_table.ssn_visa, m_table.first_name, m_table.last_name,
                           m_table.birth_date, m_table.ssn_match, m_table.dob_match, m_table.soundex_match, m_table.name_match, m_table.past_present)
                     VALUES
                        (m_list.student_id, m_list.term_scope_id, m_list.ssn_visa, m_list.first_name, 
                             m_list.last_name, m_list.birth_date, m_list.ssn_match, m_list.dob_match, m_list.soundex_match, 
                             m_list.name_match, 
    
    
                             (SELECT                    
                   'A'
                        FROM  term_scope ts
                             JOIN campus_term ct ON ts.campus_term_id=ct.campus_term_id
                             WHERE
                             ts.term_scope_id = 5  )
               
               )
               
    I've simplified the request a bit to see what combination of things are the cause of the problem, that is why she always inserts 'A' in m_list.past_present (a CHAR (1)) and always use 5 for the term_scope_id.

    On the SELECT subquery I get one
    ORA-38101 invalid column in the INSERT VALUES Clause: string "ts". "" term_scope_id ".

    However, if I leave the
    JOIN the ct campus_term ON ts.campus_term_id = ct.campus_term_id
    Then, the query works fine.

    Anyway, it must be insert 'A', so I can't imagine what that JOIN has to do with anything anyone. The term_scope_id is valid. It won't let you do a join in a subquery for a merge insert?

    BTW: I'm using Oracle Database 11 g Enterprise Edition Release 11.1.0.6.0 - Production

    Try using the old join syntax

    Select 'x '.
    from t1, t2
    where t1.col = t2.col
    and t2.other_col = using_set.other_col

  • ORA-01722: invalid, range of 9999999,000 to 0,0000013

    Hello

    I have trouble with the error invalid number. In the game of results (a few thousand lines), there is no non-numeric characters.

    Export in MS Excel and looking at all the values of this column I can´t find non-digital is but notice

    that the data range is between 9999999,000 and 0,0000013, I wonder if the zero´s many are indeed looking very non digital Oracle.

    I admit, the number format is bad.

    Now... How can I fix that?

    The error for what follows is: error: ORA-01481: invalid number format model

    Select 'small number' of the double where to_number (0,0000013) < 1;

    Error: ORA-01722: invalid number

    Select 'large number' of the double where to_number (9999999,0) > 1

    Select 'large number' of the double where to_number (9999999,000) > 1

    The problem is the comma instead of the time, but I can't find a format of reasonable number that matches

    my maximum and minimum values.

    Example:

    SELECT to_number (0.0000013, ' 9999999999, ' NLS_NUMERIC_CHARACTERS = ",". ") OF THE DOUBLE

    Can someone help me with the number formatting?

    Here you go:

    @ John @ascheffer, I message you my paypal account to bet, you have lost

    http://Gennick.com/database/subquery-madness

    solution:

    Select * from

    (SELECT MRLS

    OF V_MRL_NG

    ) where CASE WHEN MRLS do not IS NOT NULL AND MRL <> ' > NWG' MRLS AND <> '-' THEN TO_NUMBER (REPLACE (REPLACE (MRLS,' ', "), ', '.'")) END > 1.0

  • Select list LOV (error ORA-01722: invalid number)

    Hello
    I use this procedure to insert data into a table through a submit after processes.
    CREATE OR REPLACE
    PROCEDURE PR_INS_TMP_STUDENTS(
    v_tmp_stu_id_in     IN      NUMBER
    )
    IS
    BEGIN
    
    
      INSERT INTO TMP_STUDENTS (
          stu_id,
          stu_name_last,
             stu_name_first,
             stu_name_middle,
             stu_name_suffix,
             stu_name_prefer_last,
          stu_name_prefer_first,
          sch_id
          )
      VALUES (
          v_tmp_stu_id_out,
          V('p50100_stu_name_last'),
          V('p50100_stu_name_first'),
          V('p50100_stu_name_middle'),
          V('p50100_stu_name_suffix'),
          V('p50100_stu_name_prefer_last'),
          V('p50100_stu_name_prefer_first'),
          V('p50100_sch_id')
          );
    
    END;
    I kept getting this error during the presentation of the page.
    ORA-01722: invalid number
    Error      Insert Failed! 
    I go back to sch_id which is a list of number type selection (3.0). The LOV selection list has the following attributes:
    Display extra value: No
    Dynamic Translation: No
    Number of Columns: 1
    Display Null: Yes
    Null Display Value: blank
    Null Return Value: blank
    Here's the code for the LOV:
    SELECT distinct(site_id || ' - ' || initcap(lower(site_name))) site_desc, site_id ret_val
    FROM sa.SITE_DEMOGRAPHICS@sis
    order by 2
    I don't know why I kept ORA-01722: invalid number during the presentation of the page. Everyone ran through this issue?

    Hello

    First of all, you should also use nv ('itemname') for numeric values-, make sure you use v() instead of V() for others.

    If the p50100_sch_id can be null, the return value will be "null %" - which could be the cause of the error.

    In such cases, I tend to do something like -1 of the value zero, then do a test for that, in the code - if the value is - 1, I replace NULL

    Andy

  • ORA-06550 assign the value to the parameter

    Hi trying to assign the date quarter to a variable and get this error message, how can I assign a value to this parameter to PL/SQL:

    declare

    Neighborhood varchar (2);

    Start

    Select to_char (sysdate, 'YYYY-Q') in double shifts;

    dbms_output.put_line (Quarter);

    end;

    [Error] Execution (05:42): ORA-06550: line 2, column 42:

    PLS-00201: identifier 'vQUARTER' must be declared.

    ORA-06550: line 2, column 50:

    PL/SQL: ORA-00904: invalid identifier

    ORA-06550: line 2, column 3:

    PL/SQL: SQL statement ignored

    ORA-06550: line 3, column 26:

    PLS-00201: identifier 'vQUARTER' must be declared.

    ORA-06550: line 3, column 5:

    PL/SQL: Statement ignored

    your error message refers to vQUARTER, which is not listed in your code example.

    In addition, quarter is 2 characters such as defined in your code, but you ask to 6 characters in there, for example, 2016-1

  • ORA-22907: invalid CAST to a type that is not a nested table or VARRAY. Typed collection function

    Hello

    I tried to create a function that might return the type that is created on the outside.

    So I wrote script below. until the function created it compiled successfully, but after that, when the data querying, we encountered error,

    "ORA-22907: invalid CAST to a type that is not a nested table or VARRAY.

    SQL> create table emp
      2  (
      3    ename        varchar2(200 byte),
      4    mgr          number,
      5    employee_id  number
      6  );
    
    
    Table created.
    
    
    SQL> insert into emp (ename, mgr, employee_id)
      2       values ('king', 12, 1);
    
    
    1 row created.
    
    
    SQL> insert into emp (ename, mgr, employee_id)
      2       values ('clark', 12, 2);
    
    
    1 row created.
    
    
    SQL> commit;
    
    
    Commit complete.
    
    
    SQL> create or replace type t_emp as object (ename varchar2 (200), mgr number, employee_id number);
      2  /
    
    
    Type created.
    
    
    SQL> create or replace function f_emp return  t_emp
      2   is
      3  type rc_emp is ref cursor;
      4  r_emp rc_emp;
      5  v_emp t_emp;
      6  begin
      7   open r_emp for select * from emp where rownum=1;
      8   fetch r_emp into v_emp;
      9  close r_emp;
     10  return v_emp;
     11  exception
     12      when others then
     13      dbms_output.put_line(dbms_utility.format_error_stack);
     14      dbms_output.put_line(dbms_utility.format_call_stack);
     15      dbms_output.put_line(dbms_utility.format_error_backtrace);
     16      raise_application_error(-20001,sqlerrm);
     17  end;
     18  /
    
    
    Function created.
    
    
    SQL> show errors;
    No errors.
    SQL> select * from f_emp;
    select * from f_emp
                  *
    ERROR at line 1:
    ORA-04044: procedure, function, package, or type is not allowed here
    
    
    
    
    SQL> select * from table(cast (f_emp as t_emp));
    select * from table(cast (f_emp as t_emp))
                              *
    ERROR at line 1:
    ORA-22907: invalid CAST to a type that is not a nested table or VARRAY
    
    
    
    
    SQL>
    

    Like this:

    ...

    CREATE or REPLACE TYPE t_emp_array IS TABLE OF THE t_emp;

    /

    FUNCTION to CREATE or REPLACE f_emp RETURN t_emp_array

    is

    type rc_emp is ref cursor;

    r_emp rc_emp;

    v_emp_array t_emp_array: = t_emp_array();

    BEGIN

    R_emp OPEN for SELECT t_emp(ename,mgr,employee_id) FROM emp WHERE ROWNUM = 1;

    collect the fetch r_emp in bulk in v_emp_array;

    CLOSE R_emp;

    Return v_emp_array;

    exception

    while others then

    dbms_output.put_line (dbms_utility.format_error_stack);

    dbms_output.put_line (dbms_utility.format_call_stack);

    dbms_output.put_line (dbms_utility.format_error_backtrace);

    raise_application_error (-20001, SQLERRM);

    end;

    /

    SELECT *.

    table (f_emp ());

    a table function works with a table (nested table or varray)

    HTH

  • SQL error: ORA-31038: invalid number '420,05' when extracting data from XML

    Hello everyone ,

    J’ai créé dieting

    DBMS_XMLSCHEMA. REGISTERSCHEMA (SCHEMAURL = > 'OrdenDetalle.xsd', SCHEMADOC = > ' <? xml version = "1.0" encoding = "UTF?) 8 "? >

    " < xs: schema xmlns: XS =" http://www.w3.org/2001/XMLSchema ">

    < xs: element name = "Monsigniore" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "Quantity" type = "Integer" / >

    < xs: element name = "FechaCreacion" type = "xs: DateTime" / >

    < xs: element name = "Version" type = "xs: String" / >

    < xs: ELEMENT ref = "News" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "News" >

    < xs: complexType >

    < xs: Choice >

    < xs: element name = "OrdenCompra" type = "T_OrdenCompra" / >

    < / xs: Choice >

    < / xs: complexType >

    < / xs: element >

    < name XS: complexType = "T_OrdenCompra" >

    < xs: SEQUENCE >

    < xs: element name = "Code" type = "xs: String" / >

    < xs: element name = "Number" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "CodigoEstado" type = "Integer" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "CodigoLicitacion" type = "xs: String" nillable = "true" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Description" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "CodigoTipo" type = "Integer" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Type" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "TipoMoneda" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "State" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "CodigoEstadoProveedor" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "EstadoProveedor" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: ELEMENT ref = "Fechas" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "TieneItems" type = "Integer" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "PromedioCalificacion" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "CantidadEvaluacion" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Well" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Freighters" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "TotalNeto" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "PorcentajeIva" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Impuestos" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Total" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Financing" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Country" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "TipoDespacho" type = "Integer" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "FormaPago" type = "Integer" minOccurs = "0" maxOccurs = "1" / >

    < xs: ELEMENT ref = "Comprador" minOccurs = "0" maxOccurs = "1" / >

    < xs: ELEMENT ref = "Proveedor" minOccurs = "0" maxOccurs = "1" / >

    < xs: ELEMENT ref = "Items" minOccurs = "0" maxOccurs = "1" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < xs: element name = "Items" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "Quantity" type = "Integer" / >

    < xs: element name = "News" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: ELEMENT ref = "Item" minOccurs = "0" maxOccurs = "unbounded" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < name XS: complexType = "OrdenCompraBusqueda" >

    < xs:complexContent >

    < xs:extension base = "T_OrdenCompra" >

    < / xs:extension >

    < / xs:complexContent >

    < / xs: complexType >

    < xs: element name = "Item" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "Correlativo" type = "Integer" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "CodigoCategoria" type = "Integer" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Category" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "CodigoProducto" type = "Integer" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Product" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "EspecificacionComprador" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "EspecificacionProveedor" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Quantity" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Moneda" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    "< xs: element name ="PrecioNeto"type ="XS: Decimal"minOccurs ="0"maxOccurs ="1"/ >

    < xs: element name = "TotalCargos" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "TotalDescuentos" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "TotalImpuestos" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Total" type = "xs: Decimal" minOccurs = "0" maxOccurs = "1" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "Fechas" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "FechaCreacion" type = "xs: DateTime" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "FechaEnvio" type = xs: DateTime "" nillable = "true" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "FechaAceptacion" type = xs: DateTime "" nillable = "true" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "FechaCancelacion" type = xs: DateTime "" nillable = "true" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "FechaUltimaModificacion" type = xs: DateTime "" nillable = "true" minOccurs = "0" maxOccurs = "1" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "Comprador" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "CodigoOrganismo" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "NombreOrganismo" type = "xs: String" nillable = "true" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "RutUnidad" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "CodigoUnidad" type = "Integer" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "NombreUnidad" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Activity" type = "xs: String" nillable = "true" / >

    < xs: element name = "DireccionUnidad" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "ComunaUnidad" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "RegionUnidad" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Country" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "NombreContacto" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "CargoContacto" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "FonoContacto" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "MailContacto" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < xs: element name = "Proveedor" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: element name = "Code" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Number" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Activity" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "CodigoSucursal" type = "Integer" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "NombreSucursal" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "RutSucursal" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Address" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Comuna" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Region" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "Country" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "NombreContacto" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "CargoContacto" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "FonoContacto" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < xs: element name = "MailContacto" type = "xs: String" minOccurs = "0" maxOccurs = "1" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < / xs: Schema >

    ', LOCAL = > true, GENTYPES = > false, GENBEAN = > false, GENTABLES = > false,

    FORCE = > false, OPTIONS = > DBMS_XMLSCHEMA. REGISTER_BINARYXML, OWNER = > USER);

    I have a table with one xml domain.

    CREATE TABLE XML_Orden_Detalle (Fecha_GET date default current_date not null,

    Fecha_Ordenes number not null,

    Correlativo_Ordenes number not null,

    Codigo_Orden varchar2 (20) not not null primary key,

    Cant_Item,

    Date of InicioProceso,

    Date of FinProceso,

    Xmltype Orden_Detalle not null)

    Orden_Detalle XMLTYPE COLUMN

    STORE AS BINARY XML

    XMLSCHEMA " " http://xmlns.Oracle.com/xdb/schemas/CCS_XML/OrdenDetalle.xsd "" "

    ELEMENT "command";


    I inserted data like that, without any Errors:

    " < Command containing = ' http://www.w3.org/2001/XMLSchema "" xmlns: xsi = " " http://www.w3.org/2001/XMLSchema-instance ">

    < Number > 1 < / quantity >

    < FechaCreacion > 2015-05-28T 12: 10:26.947000 < / FechaCreacion >

    v1 < version > < / Version >

    < Return >

    < OrdenCompra xsi: type = "OrdenCompraBusqueda" >

    3879-2661-SE14 < code > < / code >

    < Number > PSP DAEM 2014.  COFFEE BREAK PARA FRINGE OP21838 < / number >

    < CodigoEstado > 6 < / CodigoEstado >

    3902 5-on 14 < CodigoLicitacion > < / CodigoLicitacion >

    < Description > PSP DAEM 2014.  COFFEE BREAK PARA FRINGE OP21838 < / description >

    < CodigoTipo > 8 < / CodigoTipo >

    < Type > SE < / Type >

    < TipoMoneda > CLP < / TipoMoneda >

    Is < State > < / Estado >

    < CodigoEstadoProveedor > 4 < / CodigoEstadoProveedor >

    Is < EstadoProveedor > < / EstadoProveedor >

    < Fechas >

    < FechaCreacion > 2014-12-29T 17: 43:32.287000 < / FechaCreacion >

    < FechaEnvio > 2014-12-31T 10: 32:35.480000 < / FechaEnvio >

    < FechaAceptacion > 2015 - 01-01 T 21: 03:03.660000 < / FechaAceptacion >

    < FechaCancelacion xsi: Nil = "true" / >

    < FechaUltimaModificacion > 2014-12-29T 17: 51:00.000000 < / FechaUltimaModificacion >

    < / Fechas >

    < TieneItems > 1 < / TieneItems >

    < PromedioCalificacion > 5 < / PromedioCalificacion >

    < CantidadEvaluacion > 1 < / CantidadEvaluacion >

    < Well > 0 < / well >

    cargo <>0 < / cargo >

    < TotalNeto > 53782 < / TotalNeto >

    < PorcentajeIva > 19 < / PorcentajeIva >

    < Impuestos > 10218 < / Impuestos >

    < total > 64000 < / Total >

    < Financing > 1140569 < / financing >

    < Country > CL < / Pais >

    < TipoDespacho > 12 < / TipoDespacho >

    < FormaPago > 2 < / FormaPago >

    < comprador >

    < CodigoOrganismo > 118069 < / CodigoOrganismo >

    < NombreOrganismo > Ilustre municipalidad of Bulnes < / NombreOrganismo >

    < RutUnidad > 69.141.200 - 8 < / RutUnidad >

    < CodigoUnidad > 4799 < / CodigoUnidad >

    Daem < NombreUnidad > < / NombreUnidad >

    < Actividad / >

    < DireccionUnidad > VICTOR BIANCHI Nº415 < / DireccionUnidad >

    Bulnes < ComunaUnidad > < / ComunaUnidad >

    < RegionUnidad > Region del Biobio < / RegionUnidad >

    < Country > CL < / Pais >

    Antonella Brunetti < NombreContacto > < / NombreContacto >

    Adquisiciones < CargoContacto > < / CargoContacto >

    < FonoContacto > 56-42-2204053-2204054 < / FonoContacto >

    < MailContacto > [email protected] < / MailContacto >

    < / comprador >

    < Proveedor >

    < Code > 275020 < / code >

    Luis < number > < / number >

    < Activity > MANUFACTURING OF PAN, BLOCK PANADERIA Y PRODUCTOS < / activity >

    < CodigoSucursal > 280820 < / CodigoSucursal >

    Luis < NombreSucursal > < / NombreSucursal >

    < RutSucursal > 5.940.940 - 9 < / RutSucursal >

    < Address > Carlos Palacios 125 < / address >

    Bulnes < Comuna > < / Comuna >

    Region del Biobio < region > < / region >

    < Country > CL < / Pais >

    < NombreContacto > Luis Leonardo Valdés Landero < / NombreContacto >

    Gerente < CargoContacto > < / CargoContacto >

    < FonoContacto > (56) (42) 631498 < /FonoContacto >

    < MailContacto > [email protected] < / MailContacto >

    < / Proveedor >

    elements <>

    < Quantity > 7 < / quantity >

    < Return >

    < item >

    < Correlativo > 1 < / Correlativo >

    < CodigoCategoria > 30222700 < / CodigoCategoria >

    < Category > items para estructuras, obras y construcciones / permanent Construcciones / industriales Construcciones < / categories >

    < CodigoProducto > 30222703 < / CodigoProducto >

    < product > ALMACEN Mercancias < / product >

    < EspecificacionComprador > 3 LITROS BEBIDAS < / EspecificacionComprador >

    < EspecificacionProveedor / >

    < Number > 10 < / quantity >

    < Moneda > CLP < / Moneda >

    < PrecioNeto > 1550 < / PrecioNeto >

    < TotalCargos > 0 < / TotalCargos >

    < TotalDescuentos > 0 < / TotalDescuentos >

    < TotalImpuestos > 0 < / TotalImpuestos >

    < total > 15500 < / Total >

    < / point >

    < item >

    < Correlativo > 2 < / Correlativo >

    < CodigoCategoria > 30222700 < / CodigoCategoria >

    < Category > items para estructuras, obras y construcciones / permanent Construcciones / industriales Construcciones < / categories >

    < CodigoProducto > 30222703 < / CodigoProducto >

    < product > ALMACEN Mercancias < / product >

    < EspecificacionComprador > DEEMED OF 1 1/2 LITYROS < / EspecificacionComprador >

    < EspecificacionProveedor / >

    < Number > 10 < / quantity >

    < Moneda > CLP < / Moneda >

    < PrecioNeto > 1150 < / PrecioNeto >

    < TotalCargos > 0 < / TotalCargos >

    < TotalDescuentos > 0 < / TotalDescuentos >

    < TotalImpuestos > 0 < / TotalImpuestos >

    < total > 11500 < / Total >

    < / point >

    < item >

    < Correlativo > 3 < / Correlativo >

    < CodigoCategoria > 30222700 < / CodigoCategoria >

    < Category > items para estructuras, obras y construcciones / permanent Construcciones / industriales Construcciones < / categories >

    < CodigoProducto > 30222703 < / CodigoProducto >

    < product > ALMACEN Mercancias < / product >

    < EspecificacionComprador > PACKAGES SERVILLETAS < / EspecificacionComprador >

    < EspecificacionProveedor / >

    < Number > 8 < / quantity >

    < Moneda > CLP < / Moneda >

    < PrecioNeto > 170 < / PrecioNeto >

    < TotalCargos > 0 < / TotalCargos >

    < TotalDescuentos > 0 < / TotalDescuentos >

    < TotalImpuestos > 0 < / TotalImpuestos >

    < total > 1360 < / Total >

    < / point >

    < item >

    < Correlativo > 4 < / Correlativo >

    < CodigoCategoria > 30222700 < / CodigoCategoria >

    < Category > items para estructuras, obras y construcciones / permanent Construcciones / industriales Construcciones < / categories >

    < CodigoProducto > 30222703 < / CodigoProducto >

    < product > ALMACEN Mercancias < / product >

    < EspecificacionComprador > pounds OF AZÚCAR < / EspecificacionComprador >

    < EspecificacionProveedor / >

    < Number > 5 < / quantity >

    < Moneda > CLP < / Moneda >

    < PrecioNeto > 580 < / PrecioNeto >

    < TotalCargos > 0 < / TotalCargos >

    < TotalDescuentos > 0 < / TotalDescuentos >

    < TotalImpuestos > 0 < / TotalImpuestos >

    < total > 2900 < / Total >

    < / point >

    < item >

    < Correlativo > 5 < / Correlativo >

    < CodigoCategoria > 30222700 < / CodigoCategoria >

    < Category > items para estructuras, obras y construcciones / permanent Construcciones / industriales Construcciones < / categories >

    < CodigoProducto > 30222703 < / CodigoProducto >

    < product > ALMACEN Mercancias < / product >

    < EspecificacionComprador > NESCAFE < / EspecificacionComprador >

    < EspecificacionProveedor / >

    < Number > 2 < / quantity >

    < Moneda > CLP < / Moneda >

    < PrecioNeto > 3900 < / PrecioNeto >

    < TotalCargos > 0 < / TotalCargos >

    < TotalDescuentos > 0 < / TotalDescuentos >

    < TotalImpuestos > 0 < / TotalImpuestos >

    < total > 7800 < / Total >

    < / point >

    < item >

    < Correlativo > 6 < / Correlativo >

    < CodigoCategoria > 30222700 < / CodigoCategoria >

    < Category > items para estructuras, obras y construcciones / permanent Construcciones / industriales Construcciones < / categories >

    < CodigoProducto > 30222703 < / CodigoProducto >

    < product > ALMACEN Mercancias < / product >

    < EspecificacionComprador > CAJAS OF TE 20 BOWL < / EspecificacionComprador >

    < EspecificacionProveedor / >

    < Number > 5 < / quantity >

    < Moneda > CLP < / Moneda >

    < PrecioNeto > 340 < / PrecioNeto >

    < TotalCargos > 0 < / TotalCargos >

    < TotalDescuentos > 0 < / TotalDescuentos >

    < TotalImpuestos > 0 < / TotalImpuestos >

    < total > 1700 < / Total >

    < / point >

    < item >

    < Correlativo > 7 < / Correlativo >

    < CodigoCategoria > 30222700 < / CodigoCategoria >

    < Category > items para estructuras, obras y construcciones / permanent Construcciones / industriales Construcciones < / categories >

    < CodigoProducto > 30222703 < / CodigoProducto >

    < product > ALMACEN Mercancias < / product >

    TRITON GALLETAS < EspecificacionComprador > < / EspecificacionComprador >

    < EspecificacionProveedor / >

    < Number > 31 < / quantity >

    < Moneda > CLP < / Moneda >

    < PrecioNeto >420,05< / PrecioNeto >

    < TotalCargos > 0 < / TotalCargos >

    < TotalDescuentos > 0 < / TotalDescuentos >

    < TotalImpuestos > 0 < / TotalImpuestos >

    < total > 13021,550000000001 < / Total >

    < / point >

    < / News >

    < / object >

    < / OrdenCompra >

    < / News >

    < / Monsigniore >

    However when I extract data, for example:


    Select *.

    from xmltable (to_char (' / Monsigniore/news/OrdenCompra/Items/News/Item[1] ''))

    passage (select Orden_Detalle

    of xml_Orden_Detalle

    where Fecha_Ordenes = 20150101 and Correlativo_ordenes = 83)

    path of columns Correlativo varchar2 (15) 'Correlativo '.

    , Path of varchar2 (15) CodigoCategoria 'CodigoCategoria '.

    , Path Categoria Varchar2 (100 CHAR) "category.

    , Path of varchar2 (15) CodigoProducto 'CodigoProducto '.

    , Path of Producto Varchar2 (100 CHAR) 'product '.

    , Path of the EspecificacionComprador Varchar2 (100 CHAR) "EspecificacionComprador".

    , Path of the EspecificacionProveedor Varchar2 (100 CHAR) "EspecificacionProveedor".

    , Amount varchar2 (15) path 'amount '.

    , Path of the Moneda Varchar2 (16 CHAR) "Moneda".

    , Path of varchar2 (15) PrecioNeto 'PrecioNeto '.

    , Path of varchar2 (15) TotalCargos 'TotalCargos '.

    , Path of varchar2 (15) TotalDescuentos 'TotalDescuentos '.

    , Path of varchar2 (15) TotalImpuestos 'TotalImpuestos '.

    , Path of varchar2 (15) total 'Total '.

    );


    delivery the following error:


    Informed of error:

    SQL error: ORA-31038: Valor number no valido: "420,05."

    «31038 00000 - "value not valid %s: \"%s\»»

    * Cause: The text in the XML document does not represent a valid

    value given the data type and other constraints in the schema.

    * Action: Make sure the value specified in the XML documents is valid

    regarding the data type and other constraints in the schema.

    Note that extract le agenda [1] but the reported error is à la point [7]

    Please If anyone can Help me with le solution for no report error

    Thank you very much in advance

    Carlos

    in Chile, the decimal point are ', 'no'.', the xml data table is OK for us

    You do not understand.

    Regardless of the locale, numeric values limited by a type of data XS: Decimal must use a point in a correct XML representation, otherwise, the document is not valid by the XSD.

    (3) TO_CHAR (...) the code is part of a procedure

    Again, do NOT build a dynamic path like that.

    Why not just move through the records returned by the query (if you need close at all)?


    FOR rec in)

    SELECT x.*

    From your_table t

    XMLTABLE (...) x

    )

    LOOP

    END LOOP;


    What is the role of the v_CantItems variable? Paging?

    Whence its value?

  • IKM Partition Oracle Exchange Error loading - ORA-14006: invalid partition name

    Hello

    I use ODI Standalone Edition Version 11.1.1

    I've created an interface, the target table's partition.

    DDL script

    CREATE TABLE big_table2)

    ID NUMBER (10),

    CREATED_DATE DATE,

    lookup_id NUMBER (10),

    given VARCHAR2 (50)

    )

    PARTITION OF RANGE (created_date)

    (PARTITION big_table_2007 VALUES LESS THAN (MAXVALUE));

    the performance of the interface error: -.

    InternalCZ_SC_CONSULTINGjar:file:/D:/Oracle/middleware/Oracle_ODI1/oracledi/client/jdev/extensions/Oracle.ODI.Navigator.jar!/com/Sunopsis/graphical/gif/State/f_error.gif2015-01-28 10:58:38.02015-01-28 10:59:08.03014006ODI-1226: step INT_EXCH_PART fails after 1 attempt.

    ODI-1240: Flow INT_EXCH_PART fails during an operation of integration. This flow of charge table BIG_TABLE2 target.

    ODI-1228: failed INT_EXCH_PART (integration) task on the target of ORACLE ODI_STAGE connection.

    Caused by: java.sql.SQLException: ORA-14006: invalid partition name

    ORA-06512: at line 2

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:931)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:548)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1115)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1488)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3769)
    at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3954)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1539)
    at oracle.odi.runtime.agent.execution.sql.SQLCommand.execute(SQLCommand.java:163)
    at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:102)
    at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:1)
    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
    to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$ 2.doAction(StartSessRequestProcessor.java:366)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
    to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$ 0 (StartSessRequestProcessor.java:292)
    to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$ StartSessTask.doExecute (StartSessRequestProcessor.java:855)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
    to oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$ 2.run(DefaultAgentTaskExecutor.java:82)
    at java.lang.Thread.run(Thread.java:662)
    10000000000invalid partition error.JPG

    Please can I know what is the problem.

    Put your name of the partition in upper case and double coate as:

    'BIG_TABLE_2007 '.

    The capital should not be a problem, but it is better to be like that because it will store like this in the table USER or ALL_TAB_PARTITIONS.

    This makes it easier to compare if you need to check if a partition already exists or not.

    Hope this can help you.

  • ORA-01747: invalid user.table.column... on the REPLACEMENT notice

    Oracle 11g Release 2

    I run an UPDATE statement. In the 'set' I am trying to update a column by using a subquery on the right side. REPLACE the statement Gets the error ORA-01747: specification of invalid column, table.column, or user.table.column.

    create table tab1
    ( file_id   number  ,
      record_id number  ,
      part_type_id number ,
      part_number  number ,
      positon_id   number ,
      notes        varchar2(255) ,
      mapped       varchar2(1) default 'N'
    )
    /
    insert into tab1 values(1,1,123,777,1,'NEW|A/C COMPRESSOR KIT','N') ;
    insert into tab1 values(1,2,123,777,2,'REMAN|A/C LINE','N') ;
    insert into tab1 values(1,3,123,777,2,'TEST NOTE','N') ;
    commit;
    select * from tab1;
    /*
      FILE_ID  RECORD_ID PART_TYPE_ID PART_NUMBER POSITON_ID NOTES                     MAPPED
    --------- ---------- ------------ ----------- ---------- ------------------------- ------
            1          1          123         777          1 NEW|A/C COMPRESSOR KIT         N
            1          2          123         777          2 REMAN|A/C LINE                 N
            1          3          123         777          1 TEST NOTE                      N
    */
    
    
    DECLARE
       v_note2 varchar2(255) := 'NEW' ;
    BEGIN
    UPDATE tab1 t 
             SET 
              , t.notes =  (select REPLACE(t.notes,v_note2,null) 
                            from dual )
          WHERE t.file_id = 1         -- value comes from another source
          AND   t.part_type_id = 123  -- value comes from another source
          AND   t.part_number = 777   -- value comes from another source
          AND   t.position_id = 1  ;  -- value comes from another source
    END ;
    /
    
    ERROR at line 3:
    ORA-01747: invalid user.table.column, table.column, or column specification
    

    Here's what the end result should be:

      FILE_ID  RECORD_ID PART_TYPE_ID PART_NUMBER POSITON_ID NOTES                     MAPPED
    --------- ---------- ------------ ----------- ---------- ------------------------- ------
            1          1          123         777          1 |A/C COMPRESSOR KIT            N
            1          2          123         777          2 REMAN|A/C LINE                 N
            1          3          123         777          1 TEST NOTE                      N
    

    Hello

    orclrunner wrote:

    Oracle 11g Release 2

    I run an UPDATE statement. In the 'set' I am trying to update a column by using a subquery on the right side. REPLACE the statement Gets the error ORA-01747: specification of invalid column, table.column, or user.table.column.

    1. create table tab1
    2. (file_id number,
    3. number of record_id,
    4. number of part_type_id
    5. number of PART_NUMBER,
    6. number of positon_id
    7. Notes VARCHAR2 (255),
    8. mapped by default varchar2 (1) ' don't
    9. )
    10. /
    11. insert into tab1 values (1,1,123,777,1,'NEW |) Kit COMPRESSOR / it, ' don't);
    12. insert into tab1 values (1,2,123,777,2,'REMAN |) A/C LINE ',' don't);
    13. insert into tab1 values (1,3,123,777,2, 'NOTE of TEST', ' don't);
    14. commit;
    15. Select * from tab1;
    16. /*
    17. FILE_ID RECORD_ID PART_TYPE_ID PART_NUMBER POSITON_ID MAPPED NOTES
    18. --------- ---------- ------------ ----------- ---------- ------------------------- ------
    19. 1 1 123 777 1 NEW | A/C COMPRESSOR KIT N
    20. 1 2 123 777 2 REMAN | A/C LINE N
    21. 1 3 123 777 1 TEST NOTES N
    22. */
    23. DECLARE
    24. VARCHAR2 (255) v_note2: = "NEW";
    25. BEGIN
    26. Tab1 t UPDATE
    27. SET
    28. t.notes = (select REPLACE(t.notes,v_note2,null)
    29. the double)
    30. WHERE t.file_id = 1 - value comes from another source
    31. AND t.part_type_id = 123 - value comes from another source
    32. AND t.part_number = 777 - value comes from another source
    33. AND t.position_id = 1;  -value comes from another source
    34. END;
    35. /
    36. ERROR at line 3:
    37. ORA-01747: invalid column, table.column, or user.table.column specification

    Here's what the end result should be:

    1. FILE_ID RECORD_ID PART_TYPE_ID PART_NUMBER POSITON_ID MAPPED NOTES
    2. --------- ---------- ------------ ----------- ---------- ------------------------- ------
    3. 1          1          123         777          1 | A/C COMPRESSOR KIT N
    4. 1 2 123 777 2 REMAN | A/C LINE N
    5. 1 3 123 777 1 TEST NOTES N

    The comma after SET is a syntax error.

    Why you use double?  Why not just

    UPDATE tab1

    SET of notes = REPLACE (notes, v_note2)

    WHERE file_id = 1

    ...

    ?

  • ORA-04076: invalid specification NEW or OLD

    Dear all,

    I am creating a trigger with option AFTER UPDATE but its raise the error:

    ORA-04076: invalid specification NEW or OLD

    Here's the syntax I'm using to create a trigger that sends an email, if there is no update table tab1 column NLN001. If I use not WHEN the clause then the trigger is created without any problem. But the requirement here is that the changed value of the NLN001 column trigger for the combination of the time clause ( NLKCO = "00001" NLDCT AND = 'I' AND NLCTRY = AND NLFY = 14 20) only.

    CREATE OR REPLACE TRIGGER SCHM1. UPDATE_tab1_TRG

    AFTER UPDATE

    ON SCHM1. TAB1 FOR EACH LINE

    WHERE (NLKCO = "00001" AND "EI" AND NLCTRY = 20 = NLDCT AND NLFY = 14)

    Start

    If (: NEW.) NLN001 <>: OLD. NLN001) THEN

    MAIL_FILES ('FROM_MAIL_ADD', 'TO_MAIL_ADD', 'value changed tab1', ' the value of I-TAB1 is passed to ' |: OLD.) NLN001 | « à » || : NEW. NLN001, 9999999999, null, null);

    END IF;

    End;

    /

    I hope that I have clarified my requirement. Please help me out in this matter.

    Oracle DB Version: 11.2.3.0

    Version of the OS: RHEL 5.11

    Kind regards

    Imran Khan

    Hello

    WHEN (OLD. NLKCO = "00001" AND OLD. NLDCT = "EI" AND OLD. NLCTRY = 20 AND OLD. NLFY = 14)

    This means that when the existing function of values NLKCO = "00001" oly, you must update this table right?

    So we use OLD to existing values.

  • ORA-01722 invalid error number

    Hi all

    I am trying to execute the query, we give the below error: ORA-01722 invalid number

    Create Table

    CREATE TABLE test_table

    (NUMBER (12.0) ID,)

    STORE_ID NUMBER (10.0).

    SUPPLIER_ID VARCHAR2 (128 BYTE),

    STATUS NUMBER (4,0).

    VARCHAR2 (2000 BYTE) COMMENTS

    )

    Insert into values table_test (81,1111, '10021', 2, null);

    Insert into values table_test (82,2222, '10021', 2, null);

    Insert into values table_test (83,1444, '10021', 2, null);

    Insert into values table_test (84,1211, '10021', 2, null);

    Insert into values table_test (85,1311, '61321', 2, null);

    commit;

    Run the query

    Select * from test_table where store_id in (: store);

    Variable binding give: store values such as 1111, 2222, 2233

    If: store variable binding is given a unique value such as 1111, it works very well.

    With multiple values his throw error ORA-01722 number not valid

    Thanks in advance

    When you assign

    : store: = '1111, 2222, 2233';

    You assingn it a SINGLE string. And store_id in ('1111, 2222, 2233') is not the same as store_id in (1111, 2222, 2233). The latter seeks store_id = 1111 or store_id = 2222 or store_id = 3333 while the former only looks store_id = '1111, 2222, 2233'. NUMBER of being store_id, Oracle tries to convert '1111, 2222, 2233' string and raises obviously ORA-01722 invalid number. Use the collection or:

    Select * from test_table where «,» | : store | ',' like '%', | store_id | ',%';

    However, keep in mind the foregoing will not use index if value is indexed.

    SY.

  • How to make a multiple numeric value to another page

    Dear Experts,

    Apex 4.1

    Oracle 11g

    I would like to pass multiple numeric value to another page, as below:

    P1_ID = (11,22,33) POINT Page1 depend on what users chose

    P2 SQL: SELECT * FROM TABLE WHERE ID IN (11,22,33), ID is numeric fields.

    but the PAGE 2 to show the error invalid number, how to fix, please help me.

    Thanks and greetings

    Yong Huang wrote:

    Dear Experts,

    Apex 4.1

    Oracle 11g

    I would like to pass multiple numeric value to another page, as below:

    P1_ID = (11,22,33) POINT Page1 depend on what users chose

    P2 SQL: SELECT * FROM TABLE WHERE ID IN (11,22,33), ID is numeric fields.

    but the PAGE 2 to show the error invalid number, how to fix, please help me.

    This is the classic problem 'variable IN the list' (I have no idea why this misunderstanding is so widespread. Always seemed obvious to me that it doesn't). In

    select * from table where columnvalue in (7788, 7839, 7876)
    

    (7788, 7839, 7876)is a list of expressions and the predicate is evaluated as a membership condition.

    In

    select * from table where columnvalue in :P1_X
    

    :P1_Xis a scalar string, unable to contain multiple values.

    In a report of type APEX, a source report of the body of the PL/SQL function returning a SQL query with lexical substitution can be used to produce a "variable list:

    return 'select * from table where columnvalue in (' || :P1_X || ')';
    

    where P1_X contains less than 1000 values, has been disinfected to code SQL injectionand string values are properly cited.

    Some people suggest the following approach, that will work also in interactive APEX reports:

    select * from table where instr(':' || :P1_X || ':', ':' || columnvalue || ':') > 0
    

    However, it is underperforming because it eliminates the possibility of using the index optimizer or the size of the partition in the execution plan.

    See various elements in the list to ask Tom and imitating the channel to the table using sql features for effective solutions.

  • ORA-00911: invalid character in SQL dynamic

    I think I need another set of eyes. I do not see the invalid character in this dynamically generated SQL statement:

    INSERT INTO source_arc
    select v.*, sysdate, 'archived'
    from source v
    where v.id IN  ( SELECT *
                             FROM TABLE( SELECT
                                    CAST(str2tbl( 1,2,4 )
                                                 AS myTableType
                                       )
                                         FROM
                                              dual ));
    

    Here is the complete configuration:

    create or replace type myTableType as table of number;
    /
    
    
    create or replace function str2tbl( p_str in varchar2 ) return myTableType
     as
         l_str   varchar2(32767) default p_str || ',';
         l_n        number;
         l_data    myTableType := myTabletype();
     begin
         loop
             l_n := instr( l_str, ',' );
             exit when (nvl(l_n,0) = 0);
             l_data.extend;
             l_data( l_data.count ) := trim(substr(l_str,1,l_n-1));
             l_str := substr( l_str, l_n+1 );
         end loop;
         return l_data;
     end str2tbl;
     /
    
     create table source
     ( id   number
      ,txt  varchar2(25)
     )
     /
    
     insert into source
     values(1,'aaa')
     /
    
     insert into source
     values(2,'bbb')
     /
    
     insert into source
     values(3,'ccc')
     /
    
     insert into source
     values(4,'ddd')
     /
    
     insert into source
     values(5,'eee')
     /
    
     commit ;
    
     create table source_arc
     ( id  number
      ,txt varchar2(25)
      ,dt  date
      ,comments varchar2(512)
     )
     /
    

    )

    /

    Here is the result when I run this code:

    DECLARE
       i_owner_tbl_arc varchar2(61) := 'source_arc';
       i_owner_tbl     varchar2(61) := 'source' ;
       v_qry       varchar2(32767) := 'INSERT INTO ' ||  i_owner_tbl_arc ;
       g_content_list varchar2(32767) := '1,2,4';
    BEGIN
       v_qry := v_qry || chr(10) ||
           'select v.*, sysdate, ''archived'' ' || chr(10) ||
           'from ' || i_owner_tbl || ' v '      || chr(10) ||
           'where v.id IN  ( SELECT * ' || chr(10) ||
           '                         FROM TABLE( SELECT ' || chr(10) ||
           '                                          CAST(str2tbl( ' || g_content_list || ' ) ' || chr(10) ||
           '                                             AS myTableType ' || chr(10) ||
           '                                   ) ' || chr(10) ||
           '                                     FROM dual ));';
           
           execute immediate v_qry;
    END ;
    /
    ERROR at line 1:
    ORA-00911: invalid character
    ORA-06512: at line 17
    

    Any help appreciated.

    Remove the semicolon at the end of the string and put single quotes while calling the function.

    Try the below

    DECLARE

    i_owner_tbl_arc varchar2 (61): = "source_arc";

    i_owner_tbl varchar2 (61): = 'source ';

    v_qry varchar2 (32767): = 'INSERT INTO ' |  i_owner_tbl_arc;

    g_content_list varchar2 (32767): = '1,2,4';

    BEGIN

    v_qry: = v_qry | Chr (10) |

    "select v.*, sysdate,"archived"| Chr (10) |

    'from ' | i_owner_tbl | ' v '      || Chr (10) |

    «where v.id IN (SELECT * ' |)» Chr (10) |

    ' TABLE (SELECT ' |) Chr (10) |

    "CAST (str2tbl ("' |)) ". g_content_list | ''' ) ' || Chr (10) |

    '                                             AS myTableType ' || Chr (10) |

    '                                   ) ' || Chr (10) |

    '                                     FROM dual ))';

    immediately run v_qry;

    END;

  • ORA-44416: invalid ACL: 'APEX_040000' main outstanding

    ORA-44416: invalid ACL: 'APEX_040000' main outstanding

    When I rnu Grant Connect privileges during the APEX of ORacle 11 g installation, I get the following error:

    DECLARE

    *

    ERROR on line 1:

    ORA-44416: invalid ACL: 'APEX_040000' main outstanding

    ORA-06512: at "SYS." DBMS_NETWORK_ACL_ADMIN', line 252

    ORA-06512: at line 33 level

    ORA-01403: no data found

    I yours try to run troubleshooting incorrect ACL message and receive this error message:

    DECLARE

    *

    ERROR on line 1:

    ORA-44416: invalid ACL: 'APEX_040000' main outstanding

    ORA-06512: at "SYS." DBMS_NETWORK_ACL_ADMIN', line 252

    ORA-06512: at line 33 level

    ORA-01403: no data found

    Also, when I try to open the URL...

    apex /: http://application-tier server: port/apex_ad min

    I get a pop up window asking for user name password identification.  How can I stop this from happening

    where you see the error?

    What code are you currently running which causes which? from where?

    can you post the URL of any code you copy / paste?

    If you happen be by copying and pasting the code (or the code request schema APEX), make sure that you change APEX_040000 to APEX_040200.

    select acl, principal
    from dba_network_acl_privileges
    where principal like 'APEX%'
    

    You should see the values of "principal" for APEX_030200 and APEX_040200.

    The instructions that I usually see show how to install and configure a single "advanced user" ACL.

    Therefore, I expect you to see only 2 rows.  If you see no rows for APEX_030200, don't worry about this.  You do not use this scheme anyway.

    SQL does not return all rows where main is APEX_040000 because this schema does not exist on your system.

    In this case, you must recreate the ACL or remove this "principal" of the ACL.

    DBMS_NETWORK_ACL_ADMIN. DELETE_PRIVILAGE

    You should be able to run that APEX with the ACL is configured (unless you perform a LDAP/AD authentication).

    It is also necessary for the print server and send e-mail.

    Oh, FYI - I had to do a grant when I upgraded from 4.0 to 4.2.  Somehow, the 'install' missed it.

    ALTER USER {workspace or parsing schema name}
      GRANT CONNECT THROUGH APEX_PUBLIC_USER;
    

    you will need to repeat for each schema parsing.

    MK

Maybe you are looking for