ORA-00902: invalid data type on xmltable

Hello

I learn XMLTABLE but not able to run the following queries,

with xml11g as
(
select '<?xml version="1.0"?>
<purchaseorder orderdate="1999-10-20">
  <shipto country="us">
    <name>alice smith</name>
    <street>123 maple street</street>
    <city>mill valley</city>
    <state>ca</state>
    <zip>90952</zip>
  </shipto>
  <billto country="us">
    <name>robert smith</name>
    <street>8 oak avenue</street>
    <city>old town</city>
    <state>pa</state>
    <zip>95819</zip>
  </billto>
  <comment>hurry, my lawn is going wild!</comment>
  <items>
    <item partnum="872-aa">
      <productname>lawnmower</productname>
      <quantity>1</quantity>
      <usprice>148.95</usprice>
      <comment>confirm this is electric</comment>
    </item>
    <item partnum="926-aa">
      <productname>baby monitor</productname>
      <quantity>1</quantity>
      <usprice>39.98</usprice>
      <shipdate>1999-05-21</shipdate>
    </item>
  </items>
</purchaseorder>' myxml from dual
)
select s.*, b.*
from xml11g t,
  xmltable ('/purchaseorder' passing
    xmlparse(document t.myxml)
    columns
      "shipto" xml,
      "billto" xml
    ) x,
    xmltable ('/shipto' passing x."shipto"
      columns
        "name" char(20),
        "street" char(40),
        "city" char(40),
        "state" char(2),
        "zip" number(10)
    ) s,
    xmltable ('/billto' passing x."billto"
      columns
        "name" char(20),
        "street" char(40),
        "city" char(40),
        "state" char(2),
        "zip" number(10)
    ) b;

It is showing me special suite

< zip > 90952 < / zip >

*

ERROR on line 10:

ORA-00902: invalid data type

Please guide me what I'm missing here.

Thanks and greetings

Alexander gelin

For me the (slightly modified) works:

[sql]

with xml11g as
(
Select ' 
 
   
    Alice Smith 
    123 maple Street 
    Mill Valley 
    CA 
    90952 
   
   
    Robert Smith 
    8 Oak avenue 
    old town 
    PA 
    95819 
   
  Hurry, my lawn is going wild
!                 lawn mower        1        148.95        confirm this is electric                    baby monitor        1        39.98        1999-05-21            "double myxml. ) Select *. of xml11g t.   XMLTable ('/ purchaseorder' by the way)     xmlParse (document t.myxml)     columns       "shipto" XMLtype,       "billto" XMLtype     )     x,     XMLTable ("' / shipto' passing x." ShipTo")       columns         'name' char (20)         , 40 "Street."         'city' 40,         'State' (2) tank.         "zip" INTEGER     + 1 ,     XMLTable ("' / billto' passing x." BillTo")       columns         'name' char (20),         40 "Street."         'city' 40,         'State' (2) tank.         "zip" INTEGER    

) b ;

[SQL]

Tags: Database

Similar Questions

  • table font PL/SQL: ORA-00902: invalid data type

    I m is

    PL/SQL: ORA-00902: invalid data type

    error in


    OPEN FOR PPymtCur
    SELECT *.
    TABLE (CAST (up_gap_tra_reports.myArray AS traArray));

    in my up_gap_tra_reports package.

    CREATE OR REPLACE PACKAGE GAPSDVEL.up_gap_tra_reports
    AS

    TraRecord RECORD TYPE IS
    (
    group1StudEnrol NUMBER (6.1).
    group2StudEnrol NUMBER (6.1).
    pymtAmt gap_payment.NET_AMT%TYPE
    );


    TYPE traArray IS TABLE OF THE traRecord;
    myArray traArray: = traArray();

    END up_gap_tra_reports;

    I have alreay hv declared of type traArray.

    pls help me solve this problem.

    Meghna wrote:
    is it possible to use the collection pl/sql in SQL or refcur without creating it because I'm not able to create the type of database.

    The only way I know is function in pipeline:

    create or replace
      package pkg1
        is
          type traRecord
            is record(
                      ename emp.ename%type,
                      sal   emp.sal%type
                     );
          TYPE traArray IS TABLE OF traRecord;
          function f1
            return traArray
            pipelined;
    end;
    /
    create or replace
      package body pkg1
        is
        function f1
            return traArray
            pipelined
          is
              v_rec traRecord;
          begin
              v_rec.ename := 'Sam';
              v_rec.sal := 1000;
              pipe row(v_rec);
              v_rec.ename := 'John';
              v_rec.sal := 1500;
              pipe row(v_rec);
              v_rec.ename := 'Mary';
              v_rec.sal := 2000;
              pipe row(v_rec);
              return;
        end;
    end;
    /
    

    Now, you can:

    SQL> select * from table(pkg1.f1)
      2  /
    
    ENAME             SAL
    ---------- ----------
    Sam              1000
    John             1500
    Mary             2000
    
    SQL>
    

    Don't forget, it will create the generated system types:

    SQL> select type_name from user_types
      2  /
    
    TYPE_NAME
    ------------------------------
    SYS_PLSQL_73305_9_1
    SYS_PLSQL_73305_DUMMY_1
    SYS_PLSQL_73305_34_1
    
    SQL> desc SYS_PLSQL_73305_9_1
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ENAME                                              VARCHAR2(10)
     SAL                                                NUMBER(7,2)
    
    SQL> desc SYS_PLSQL_73305_DUMMY_1
     SYS_PLSQL_73305_DUMMY_1 TABLE OF NUMBER
    
    SQL> desc SYS_PLSQL_73305_34_1
     SYS_PLSQL_73305_34_1 TABLE OF SYS_PLSQL_73305_9_1
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ENAME                                              VARCHAR2(10)
     SAL                                                NUMBER(7,2)
    
    SQL> 
    

    SY.

  • ORA-00902: invalid data type

    Hello
    What is the problem with my NUMBER data type:
    SQL> create table sale (purchase-no NUMBER (9) CONSTRAINT sale-purchase-no-pk PR
    IMARY KEY , costumer-id NUMBER (9) CONSTRAINT sale-customer-id-nk NOT NULL);
    create table sale (purchase-no NUMBER (9) CONSTRAINT sale-purchase-no-pk PRIMARY
     KEY , costumer-id NUMBER (9) CONSTRAINT sale-customer-id-nk NOT NULL)
                               *
    ERROR at line 1:
    ORA-00902: invalid datatype
    Thank you.

    Your column and constraint names have traits that are not allowed in the names of identifiers.

    Try using instead underscore traits.

  • From a function table: invalid data type error

    Hello

    I'm a ORA-00902: invalid data type error when I try to call the function from a select statement below. Here, I am leaving an array from a function.
    create or replace package pkg10
    as
    
    type tabletype1 is table of table1%rowtype
    index by binary_integer;
    
    function func1 return tabletype1;
    
    end pkg10;
    create or replace package body pkg10
    as
    
    function func1 return tabletype1 
    is
        v_tab1 tabletype1;
        idx integer;
    begin 
    
        idx := 1;
        
        for i in (select * from table1)
        loop
            v_tab1(idx).name1 := i.name1;
            v_tab1(idx).key := i.key;
            idx := idx+1;
            
        end loop;
    
    return v_tab1; 
    
    end func1; 
    
    end pkg10;
    select * from table(pkg10.func1);
    Please point out to me where I'm wrong.

    Thank you

    Sathya Vamsi says:
    Hello

    I'm a ORA-00902: invalid data type error when I try to call the function from a select statement below. Here, I am leaving an array from a function.

    create or replace package pkg10
    as
    
    type tabletype1 is table of table1%rowtype
    index by binary_integer;
    
    function func1 return tabletype1;
    
    end pkg10;
    
    create or replace package body pkg10
    as
    
    function func1 return tabletype1
    is
    v_tab1 tabletype1;
    idx integer;
    begin 
    
    idx := 1;
    
    for i in (select * from table1)
    loop
    v_tab1(idx).name1 := i.name1;
    v_tab1(idx).key := i.key;
    idx := idx+1;
    
    end loop;
    
    return v_tab1; 
    
    end func1; 
    
    end pkg10;
    
    select * from table(pkg10.func1);
    

    Please point out to me where I'm wrong.

    Thank you

    you try to use a data type of PL/SQL as part of an SQL statement. is NOT authorized.

  • table (cast - invalid data type problem

    Hi all

    Baseline scenario:

    --------------------------
    PACKAGE
    --------------------------
    create or replace
    PACKAGE C2_PAYMENT_DOC IS

    Bin_array TYPE TABLE IS NUMBER
    INDEX OF DIRECTORY;

    FUNCTION test_fun (l_doc_id IN integer) RETURN bin_array;
    --------------------------
    PACKAGE_BODY
    --------------------------
    create or replace
    package C2_PAYMENT_DOC as body

    Bin_array test_fun (l_doc_id-IN integer) FUNCTION RETURNS IS
    l_gross bin_array;
    Start
    c2_purchase_invoice.get_inv_gross_amount (l_doc_id, l_gross (1));
    Return l_gross;
    end;
    END;
    --------------------------
    QUERY
    --------------------------
    Select * from Table (Cast (c2_payment_doc.test_fun (1) as bin_array));

    The query result is ORA-00902: invalid data type
    How can I make the valid select statement?
    Thanks in advance,
    Bartek

    You cannot use local collection types in SQL. You must create a bin_array of type like nested SQL table type. In addition, depending on the version you will not cast:

    SQL> CREATE OR REPLACE
      2    TYPE bin_array
      3      AS TABLE OF NUMBER
      4  /
    
    Type created.
    
    SQL>  create or replace
      2   PACKAGE C2_PAYMENT_DOC IS
      3  FUNCTION test_fun(l_doc_id IN integer) RETURN bin_array;
      4  end;
      5  /
    
    Package created.
    
    SQL> create or replace
      2  package body C2_PAYMENT_DOC as
      3
      4  FUNCTION test_fun (l_doc_id IN integer) RETURN bin_array IS
      5  l_gross bin_array := bin_array();
      6  begin
      7      l_gross.extend;
      8      l_gross(1) := l_doc_id;
      9  return l_gross;
     10  end;
     11  END;
     12  /
    
    Package body created.
    
    SQL> select * from Table(Cast(c2_payment_doc.test_fun(1) As bin_array));
    
    COLUMN_VALUE
    ------------
               1
    
    SQL> select * from Table(c2_payment_doc.test_fun(1))
      2  /
    
    COLUMN_VALUE
    ------------
               1
    
    SQL> 
    

    SY.

  • Invalid data type

    Hello

    I have the following tables:


    create table wine cellars
    (winecellarname varchar2 (50) primary key,)
    location varchar2 (50).
    owner varchar2 (50).
    Phone varchar2 (50).
    Museum char(1),
    BLOB of logo
    );

    create table wines
    (winetype, varchar2 (50))
    winecathegory varchar2 (50).
    year number 4.
    winecellarname varchar2 (50).
    VARCHAR2 (50) of origin;
    primary key (winetype, winecathegory, year, winecellarname).
    Foreign key (winecellarname) references winecellarname on delete cascade
    );

    But in the line which belongs to the sentence: create vdt TOAD gives me the following error: error on line 13. ORA-00902: invalid data Type

    I don't understand the reason for this error and I can fix it.

    Thank you. Concerning

    Found the problem:

    create table vino
    ( tipovino varchar2(50),
    categoriavino varchar2(50),
    anovendimia number(4),
    nombrebodega varchar2(50),
    denominacionorigen varchar2(50),
    precio/lproduc number(5),
    litrosproduc number(10),
    precio/lpublico number(5),
    primary key (tipovino,categoriavino,anovendimia,nombrebodega),
    foreign key (nombrebodega) references bodega on delete cascade
    )
    /
    

    ' Precio/lproduc' and "price/lproduc" columns contain a ' / ', which is not legal!

    Try this:

    create table vino
    ( tipovino varchar2(50),
    categoriavino varchar2(50),
    anovendimia number(4),
    nombrebodega varchar2(50),
    denominacionorigen varchar2(50),
    precio_lproduc number(5),
    litrosproduc number(10),
    precio_lpublico number(5),
    primary key (tipovino,categoriavino,anovendimia,nombrebodega),
    foreign key (nombrebodega) references bodega on delete cascade
    )
    /
    

    and it works perfectly. (See where I replaced ' / ' by '_' in two of these column names?)

    Hope that helps,

    -Mark

    PS The reminder! Don't forget to close the issue and awarded points accordingly.

  • ORA-00932: inconsistent data types: expected - got CURSER

    Hi all

    I created a function and tried to run SQL Plus, but I get an error

    ORA-00932: inconsistent data types: expected - got CURSER

    I tried to debug for centuries, but are unable to the root of what could be the problem. I'd appreciate any help or idea people could offer

    The only consolation I take from this is that Oracle have typo in one of their error messages :)



    SQL MORE CODE
    select * FROM TABLE(CAST(tsoraimpdb.QueryAuthorsFunc(116, 1, -1, 1, 0) as tsoraimpdb.ENTITYIDTABLE));
    THE FUNCTION CODE
    CREATE OR REPLACE FUNCTION &HKImpDB_Schema_Name..QueryAuthorsFunc 
    (
    aKGID NUMBER,
      aPageNumber NUMBER,              -- The page interested
      aPageSize NUMBER,                -- Number of records per page
      aOffset NUMBER,                  -- The offset = number of records already got
      aTotalRecord NUMBER          -- Total number of users in the database
    )
    RETURN sys_refcursor
    as
    l_FuncCur sys_refcursor;
    l_TotalRecord NUMBER(10) := aTotalRecord;
    l_Offset NUMBER(10) := aOffset;
    l_PagingTable TEMP_T_TABLE:= TEMP_T_TABLE();
    
    -- paging set up
    l_MinRecordsOnAPge NUMBER(10); --last record on the previous page
    l_MaxRecordsOnAPge NUMBER(10); --last record on the current page
    begin
    DBMS_OUTPUT.PUT_LINE('start');
    select KnowdePos(rownum,p.ID) bulk collect into l_PagingTable
      FROM KnowledgeGene kg
      INNER JOIN HKResource r ON kg.KGOwner = r.ID
      INNER JOIN Person p ON r.PersonID = p.ID
    WHERE kg.kgid = akgid
    ORDER BY p.FirstName + ' ' + p.LastName;
    
    l_TotalRecord := l_PagingTable.count; -- get total records
    DBMS_OUTPUT.PUT_LINE(  l_TotalRecord);
    
    if aPageSize > 0 then
      if aPageNumber <= 0 then
              Raise_application_error(-20003,'Invalid Page Number');
      else
          l_MinRecordsOnAPge := (aPageNumber-1)*aPageSize;
          l_MaxRecordsOnAPge := aPageNumber*aPageSize;
      end if;
    else -- if @PageSize < 0 return all records
        l_Offset := 0;
        l_MinRecordsOnAPge := 0;
        l_MaxRecordsOnAPge := l_TotalRecord;
    END if;
    
    -- return results for the correct page
    open l_FuncCur for
    SELECT pos
      from HKResource r
      INNER JOIN Person p ON r.PersonID = p.ID
      inner join TABLE(CAST(l_PagingTable AS TEMP_T_TABLE)) on pos = p.id
      WHERE KnowdeID > l_MinRecordsOnAPge - l_Offset AND KnowdeID <= l_MaxRecordsOnAPge - l_Offset;
    
    return l_FuncCur;
    EXCEPTION when NO_DATA_FOUND then null;
    end;

    You cannot get the ref cursor in a table like this. Either use a PL/SQL program to extract the lines of ref cursor and display them via dbms_output.put_line (or something) or load the results into a collection and then cast the collection in a table in your select statement.

  • ORA-00932: inconsistent data types: expected DATE receipt NUMBER to call OIC OCIStmtExecute OBIEE 11g

    Hi friends,

    I get this error: ORA-00932: inconsistent data types: expected DATE got the NUMBER to the call of the OIC OCIStmtExecute when I'm putting the filter on the date column condition.

    "Sun Time". " Day' < = cast (MAX ("Sun time" "." ")) Date day")) and"Sun Time ". "' Day ' > = TIMESTAMPADD (SQL_TSI_MONTH,-1, cast (MAX ("Sun time".) "Day") as date). "

    I sank the date max, but if I get the above error. I think max (date) creates the problem.

    Please suggest your opinion on that.

    Thank you.

    Thank you for your suggestions.

    I used the variable, and it helped.

    "Sun Time". " Date' <= valueof(maxdate)="" and="" "dim-time"."date"="">= TIMESTAMPADD (SQL_TSI_MONTH-1, VALUEOF (Maxdate))

  • Expression-matter ORA-00932: inconsistent data types

    I'm trying to use the following condition

    Select

    case

    When

    Count (exception.exception_number) > 1

    then 0

    on the other

    ENTITY_TYPE_DEF.NAME

    end name

    With the exception of the table, exception_number has a varchar2 data type. My requirement is such that if the number of exception number is greater than 1, it should show 0 (integer) and if not then see the name column of the entity_type_def table (varchar2).

    My query fails with the following error

    ERROR on line 7:

    ORA-00932: inconsistent data types: expected NUMBER obtained TANK

    Please could someone suggest a workaround solution for above question.

    Hello.

    For example,.

    Select

    case

    When

    Count (exception.exception_number) > 1

    then "0"

    on the other

    ENTITY_TYPE_DEF.NAME

    end name

  • ADF: ORA-00932: inconsistent data types: expected - got TANK

    I get this error while casting. ORA-00932: inconsistent data types: expected - got TANK
    I had departments such as front number... .but must be able to take over the alpha characters... so I changed my Bind Variables in my model: Array string (decimal Big)

    This is the error:

    where dept in (SELECT * FROM TABLE (CAST (: depts AS glc.))) NUMTABTYPE)))

    How can I solve this?... probably need to delete interpreters from here... .but how I it... any help is appreciated.

    I also Type:
    create or replace TYPE NUMTABTYPE in the TABLE to the number; (also I tried to change this option for create or replace TYPE NUMTABTYPE in the TABLE to the varchar2 (200);)

    I changed the table to a string and

    [oracle.jbo.domain.Number]"with java.lang.String to support also supports departments alpha characters... dept can be AB123 (string) or 3344 (number only)

    The entire query
    ============
    SELECT * FROM (SELECT
    NVL ("DEPT", "Grand Total") as DEPT,
    PERIOD_YEAR,
    In summary (round ("Jan real CDA")) 'real Jan CDA. "
    In summary (round ("Feb real CDA")) 'Feb CDA real. "
    In summary (round ("Mar real CDA")) 'Mar CDA real. "
    In summary (round ("Apr CDA")) real 'Real CDA Apr',
    In summary (round ("peut CDA")) real "can actual CDA."
    In summary (round ("Jun real CDA")) 'Jun CDA real. "
    sum (round ("Jul real CDA")) 'Real CDA Jul',
    In summary (round ('Aug real CDA")) 'Aug CDA real."
    In summary (round ("Ms real CDA")) 'Ms CDA real. "
    In summary (round ("Oct real CDA")) 'Oct CDA real. "
    In summary (round ("Nov real CDA")) 'real CDA Nov. "
    In summary (round ('Dec real CDA")) 'Dec CDA real."
    In summary (round ("Jan CDA Budget")) 'Budget of CDA Jan. "
    In summary (round ("Feb CDA Budget")) 'Feb CDA Budget. "
    In summary (round ("Mar CDA Budget")) 'Mar CDA Budget. "
    In summary (round ("Apr CDA Budget")) 'Apr CDA Budget. "
    In summary (round ("can CDA Budget")) 'Budget of CDA can. "
    In summary (round ("Jun CDA Budget")) 'Jun CDA Budget. "
    In summary (round ("Jul CDA Budget")) 'Jul CDA Budget. "
    In summary (round ("Aug CDA Budget")) 'Aug CDA Budget. "
    In summary (round ("Sep CDA Budget")) 'Ms CDA Budget. "
    In summary (round ("Oct CDA Budget")) 'Oct CDA Budget. "
    In summary (round ("Nov CDA Budget")) 'Nov CDA Budget. "
    In summary (round ("CDA Budget Dec")) 'Dec CDA Budget. "
    In summary (round ('Total Budget uncorrected')) "Annual_Budget."
    In summary (round ("Total Budget")) "Revised_BUDGET."
    sum (round ("real CDA")) "YTD_ACTUALS."
    In summary (round ("Jan Actual")) "Jan_ACTUAL."
    In summary (round ('Jan Budget')) "Jan_BUDGET."
    In summary (round ("Jan Actual")) "JanYTDACTUAL."
    In summary (round ('Jan Budget')) "JanYTDBUDGET."
    sum (round ("real Feb")) "Feb_ACTUAL."
    In summary (round ('Feb Budget')) "Feb_BUDGET."
    sum (round ("real Mar")) "Mar_ACTUAL."
    In summary (round ("Budget de Mar")) "Mar_BUDGET."
    sum (round ("real Apr")) "Apr_ACTUAL."
    In summary (round ("Apr Budget")) "Apr_BUDGET."
    In summary (round ("can real")) "May_ACTUAL."
    In summary (round ("Budget can")) "May_BUDGET."
    sum (round ("real Jun")) "Jun_ACTUAL."
    In summary (round ('Jun Budget')) "Jun_BUDGET."
    sum (round ("real Jul")) "Jul_ACTUAL."
    In summary (round ('Jul Budget')) "Jul_BUDGET."
    sum (round ("real Aug")) "Aug_ACTUAL."
    In summary (round ('Aug Budget')) "Aug_BUDGET."
    sum (round ("real Sep")) "Sep_ACTUAL."
    In summary (round ('Ms Budget')) "Sep_BUDGET."
    sum (round ("real Oct")) "Oct_ACTUAL."
    In summary (round ('Oct Budget')) "Oct_BUDGET."
    sum (round ("real Nov")) "Nov_ACTUAL."
    In summary (round ('Nov Budget')) "Nov_BUDGET."
    sum (round ("real Dec")) "Dec_ACTUAL."
    In summary (round ("Dec Budget")) "Dec_BUDGET."
    sum (round ("Jan Budget" + "Jan Budget Adj")) "Jan_Budget_Orig."
    sum (round ("Budget Feb" + "Feb Budget Adj")) "Feb_Budget_Orig."
    sum (round ("Mar Budget" + "Mar Budget Adj")) "Mar_Budget_Orig."
    sum (round ("Apr Budget" + "After Budget Adj")) "Apr_Budget_Orig."
    sum (round ("Budget can" + "Can Budget Adj")) "May_Budget_Orig."
    sum (round ("Jun Budget" + "Jun Budget Adj")) "Jun_Budget_Orig."
    sum (round ("Jul Budget" + "Jul Budget Adj")) "Jul_Budget_Orig."
    sum (round ("Aug Budget" + "August Budget Adj")) "Aug_Budget_Orig."
    sum (round ("Ms Budget" + "Ms Budget Adj")) "Sep_Budget_Orig."
    sum (round ("Oct Budget" + "Oct Budget Adj")) "Oct_Budget_Orig."
    sum (round ("Budget Nov" + "Nov Budget Adj")) "Nov_Budget_Orig."
    sum (round ('Dec Budget '' + '' Dec Budget Adj")) 'Dec_Budget_Orig '.
    GLC. GLC_BUDANAL_ACT_BUD_ADJ_VAR_V mainanal
    where dept in (SELECT * FROM TABLE (CAST (: depts AS glc.))) NUMTABTYPE))) and period_year =: year and substr ("OBJECT", 1, 3). =: excludeObject
    and mainanal. FERC not like 4% '
    Group by the Department, period_year) QRSLT ORDER BY DEPT

    As you say your table does not number but the strings. If you must change the table in an array of strings.

    Timo

  • I get an error-invalid data type

    DECLARE
    CURSOR med_rec_cur
    IS
    SELECT *.
    OF temp_records_med;

    p_success NUMBER;
    strQuery VARCHAR2 (10000);
    v_count NUMBER;
    v_filename temp_records_med.filename%TYPE;

    TYPE med_rec_tab IS TABLE OF temp_records_med % ROWTYPE;

    ErrNum NUMBER;

    Slno_tab TYPE IS a TABLE OF VARCHAR2 (100);

    v_med_rec_tab med_rec_tab;
    dml_errors EXCEPTION;
    v_slno NUMBER;
    v_all_slno VARCHAR2 (1000);
    v_slno_tab slno_tab;
    tba_slno temp_records_med.slno%type;

    BEGIN
    OPEN med_rec_cur.

    LOOP
    BEGIN
    EXTRACTION med_rec_cur
    LOOSE COLLECTION v_med_rec_tab LIMIT 1000;

    FORALL I IN 1... v_med_rec_tab. COUNT SAVE EXCEPTIONS
    INSERT INTO meddetail
    VALUES v_med_rec_tab (i)
    RETURN slno BULK COLLECT INTO v_slno_tab;

    EXCEPTION
    WHEN dml_errors
    THEN
    v_all_slno: = ', '. To_char (v_all_slno);
    END;

    EXIT WHEN med_rec_cur % NOTFOUND;
    END LOOP;

    CLOSE Med_rec_cur;

    INSERT INTO BOSSDRAGON - INVALID DATA TYPE
    SELECT * FROM TEMP_RECORDS_MED WHERE SLNO NOT IN (SELECT tba_slno FROM)
    (TABLE (CAST (v_slno_tab AS slno_tab) tba_slno))) ;

    END;

    Published by: user8731258 on Sep 6, 2010 23:14

    Casting will not change the fact that you have a local collection type in a SQL statement, which is not allowed. You can create a stand-alone type with CREATE TYPE? Or use something like SYS. DBMS_DEBUG_VC2COLL that is already defined.

    You don't need a CAST explicitly in the TABLE expressions after around Oracle 8i.

  • -Error ORA-00932: inconsistent data types: expected TANK got the NUMBER

    Here is my report query...
    select 
    *
    from   DW_RFA_JOBDATA
    where  FINISH_TIME >= :P1_START_DATE 
    and FINISH_TIME < :P1_END_DATE
         AND RFA_FLAG = (CASE :P1_JOB_CLASSIFICATION WHEN '0' THEN 'LSF'
                                      WHEN '1' THEN 'NON-LSF' 
                                      ELSE RFA_FLAG END)
    The column data type RFA_FLAG is NUMBER(*,0)... I'm view RSA and RSA - not the area of selection, but I get the error ORA-00932: inconsistent data types: expected TANK got the NUMBER >

    I have created a static LOV with LST display 0 return
    Display NON - RSA 1 return...

    Could any body please help me in truble shooting error? How to to convert the data type to number, I have no privileges to make changes to the table...

    Mark you my previous answer as correct? (MOST POINTS!  :))

  • Ora-13033 invalid data in the sdo_elem_info_array in object geometry sdo

    Hello

    I get this error when I create spatial indexes on the geometry.

    I think I have a problem with some lines of my geometry data. I identified and corrected these problems so far. but I always error on the creation of a spatial index.

    -the Gtype vacuum in a few lines
    -bad Gtype in a few lines

    Error full.

    ORA-29855: an error has occurred in the execution of routine ODCIINDEXCREATE
    ORA-13249: internal error in the Spatial index: mdidxrbd
    ORA-13249: IERREUR in Spatial Index: index generation remote
    ORA-13200: internal error RowID:AAANZE / AAFAAALFaAAP... in the space for indexing
    ORA-13206: [] internal error creating the spatial index
    ORA-13033: invalid data in the sdo_elem_info_array in object geometry sdo
    ORA-06512: at the 'MDSYS. SDO_INDEX_METHOD_10I', line 10

    I have data on line for this table and this is the sample data.

    GEOMETRY (SDO_GTYPE, SDO_SRID, SDO_POINT_TYPE (X, Y, Z), ANSDO_ELEM_INFO, SDO_ORDINATES)
    --------------------------------------------------------------------------------
    SDO_GEOMETRY (2002, 2958, NULL, SDO_ELEM_INFO_ARRAY, (1, 2, 1), SDO_ORDINATE_ARRAY ())
    598520.994, 4837106.63, 598462.359, 4837164.63))

    SDO_GEOMETRY (2002, 2958, NULL, SDO_ELEM_INFO_ARRAY, (1, 2, 1), SDO_ORDINATE_ARRAY ())
    599229.43, 4837127.13, 599089.675, 4837264.62))

    SDO_GEOMETRY (2002, 2958, NULL, SDO_ELEM_INFO_ARRAY, (1, 2, 1), SDO_ORDINATE_ARRAY ())
    599280.002, 4837024.46, 599295.689, 4837048.09, 599296.21, 4837055.13, 599294.64
    5, 4837062.43, 599229.43, 4837127.13))

    SDO_GEOMETRY (2002, 2958, NULL, SDO_ELEM_INFO_ARRAY, (1, 2, 1), SDO_ORDINATE_ARRAY ())

    GEOMETRY (SDO_GTYPE, SDO_SRID, SDO_POINT_TYPE (X, Y, Z), ANSDO_ELEM_INFO, SDO_ORDINATES)
    --------------------------------------------------------------------------------
    599089.675, 4837264.62, 599028.567, 4837324.34))

    SDO_GEOMETRY (2002, 2958, NULL, SDO_ELEM_INFO_ARRAY, (1, 2, 1), SDO_ORDINATE_ARRAY ())
    595925.144, 4839146.42, 596002.765, 4839128.11, 596007.989, 4839126.85, 596013.5
    22, 4839123.09, 596056.926, 4839089.74, 596100.769, 4839065.62, 596106.694, 4839
    063.81, 596110.438, 4839064.27, 596115.548, 4839066.47, 596181.122, 4839135.22,
    596183.623, 4839140.59, 596183.706, 4839145.03, 596183.319, 4839148.15, 596181.1
    78, 4839152.64, 596174.794, 4839163.26, 596165.136, 4839174.75, 596143.191, 4839
    194.57))


    Note also that I have correct size in the table 'sdo user geom meta data' and at my table.

    Any help is greatly appreciated.

    Rose

    Rose,

    Just a few questions:

    1. What is the source of your data?
    2. How did did you load it?
    3. have you already validated with SDO_GEOM. VALIDATE_GEOMETRY_WITH_CONTEXT?

    Kind regards.

    Ivan

  • Creating a table: invalid data type

    Hello

    I want to create two tables, which is why the following script:

    create table wine cellars
    (winecellarname varchar2 (50) primary key,)
    location varchar2 (50).
    owner varchar2 (50).
    Phone varchar2 (50).
    Museum char(1),
    BLOB of logo
    );


    create table wines
    (winetype, varchar2 (50))
    winecathegory varchar2 (50).
    year number 4.
    winecellarname varchar2 (50).
    VARCHAR2 (50) of origin;
    primary key (winetype, winecathegory, year, winecellarname).
    update the foreign key (winecellarname) winecellarname references on Delete on cascade
    );

    But in line 13 of the script, which is the line winetype varchar2 (50), gives the text following error-> invalid data type

    Everyone knows that is the cause? I used Toad as a client to manage the script and Oracle 10 g as a server.

    Thank you. concerning

    Then, when you create tables in Oracle, referencing foreign key, you don t need to use on the update clause to maintain the reference to integrity? This is valid for MySQL Server?

    not sure that your average, but you have to update... use only on the deletion clause.
    read reference to url... I told you

  • ORA-01839: invalid date for the specified month

    Hello

    I don't know if this is the right place for posting this... but I got the following errors in my alert log file (10.2.0.1)

    Errors in the fichier.../bdump/xxx_j000_23928.trc
    ORA-12012: error on auto work 8888
    ORA-01839: invalid date for the specified month

    in the trace file:
    NAME OF THE ACTION: (AUTO_SPACE_ADVISORY_JOB) 2009-03-30 22:00:02.313
    NAME OF THE MODULE: (DBMS_SCHEDULER) 2009-03-30 22:00:02.313
    SERVICE NAME: (SYS$ USERS) 2009-03-30 22:00:02.313
    ID OF THE SESSION: (194,87) 2009-03-30 22:00:02.313
    2009-03-30 22:00:02.313
    ORA-12012: error on auto work 8888
    ORA-01839: invalid date for the specified month

    The problem is the date is not valid for the specified month, my question is how do I solve this problem. This is a newly created database.

    I have only 2 jobs (some from dba_jobs) and there is no 8888.

    2 jobs I have are:

    THE WORK INTERVAL WHICH
    1 + 1/240 sysdate unlock;
    trunc (sysdate) 2 + 7 + 3/24 dbms_stats.gather_schema_stats ('db_name');


    Please help. Thank you.

    Published by: user10427867 on March 31, 2009 12:00

    The work is probably assigned a group of windows, probably MAINTENANCE_WINDOW_GROUP. The task will run in this window. Try these queries.

    select schedule_name
    from dba_scheduler_jobs
    where job_name = 'AUTO_SPACE_ADVISOR_JOB';
    
    select next_start_date
    from dba_scheduler_window_groups
    where window_group_name = 'MAINTENANCE_WINDOW_GROUP';  -- or the value returned by the first query if different
    

    Since it is a work of Oracle supplied, I recommend you contact Oracle support. The trace file contains other useful information?

Maybe you are looking for

  • Completely disable the presentation of data

    Hello I set the following preferences: user_pref ("datareporting.healthreport.service.enabled", false);user_pref ("datareporting.healthreport.uploadEnabled", false);user_pref ("datareporting.policy.dataSubmissionEnabled", false);user_pref ("toolkit.t

  • My Firefox 9.2.1 won't save opening session ID and passwords

    My wife and I have five Yahoo e-mail accounts between us and we only use the Firefox browser. We used to get the journal-om identifiers and passwords saved in Firefox, and we did not have to return to our login info. Now, every time we logout of Fire

  • Saving data with automatic time intervals

    Hello world I am a new user with LabVIEW (I just started using it 3 weeks ago) and I'm having a problem with the registration data and recording. Basically, we want to do is monitor data for four different variables countinuosly but to record in inte

  • Vista SP2 error 8007371c

    Hey guys.  I tried to install updates to windows on a CLEANING system, which means that I reformatted before that I installed the windows updates.  After reformatting my computer, I went ahead and downloaded and installed every single update Windows

  • Pavilion 14-n061tx: fact HP Pavilion 14-n061/59 / 60tx a mSATA?

    Hey guys,. I want to improve my HP Pavilion 14-n061tx with a new SSD and more RAM. The problem that I am facing is if the motherboard of my laptop has an mSATA slot or not. I can't find information online about it. I have another solution to use an a