Indexing of binary XML data exposed by using a relational view

Hello

I would like a forefinger XMLType columns. 11 GR 2, it is possible, but in paragraph 12.1?

I give you my script to test.

Thanks in advance

-Server Oracle 12 c Enterprise Edition Release 12.1.0.1.0 - 64 bit Production

CREATE TABLE t_col_xml

(nom_doc VARCHAR2 (30) PRIMARY KEY, col_xml XMLType)

XMLTYPE AS XML BINARY col_xml STORE;

INSERT INTO t_col_xml (nom_doc, col_xml) VALUES

("compagnie.xml",

((XMLType.CREATEXML)

' <? XML version = "1.0" encoding = "UTF-8"? >

< date_crea = "2010-08-30" company >

< comp > AB < / comp >

< driver >

< patent pilot = "PL - 1" >

< name > Benoit < / name >

< name > Sarda < / name >

< salary > 4000.20 < / salary >

< / driver >

< patent pilot = "PL2" >

< name > Romaric < / name >

< name > Benech < / name >

< salary > 5000.40 < / salary >

< / driver >

< / drivers >

Air Blagnac < nomComp > < / nomComp >

(((< / company > ')));

CREATE or replace VIEW comp_detail_vue AS

SELECT a.comp, b.*

OF t_col_xml.

XMLTABLE ('/ company ' ADOPTION col_xml)

Comp VARCHAR2 COLUMNS (6) PATH "comp."

PILS XMLType PATH ' pilot/pilot'),

XMLTABLE ('pilot' ADOPTION a.pils

Patent of VARCHAR2 COLUMNS (6) "@brevet."

prepil PATH VARCHAR2 (20) "first name",

nompil PATH VARCHAR2 (20) "name."

b salary NUMBER PATH "wages");

Col nompil FORMAT A12

ALTER SESSION SET nls_numeric_characters = ".";

SELECT * FROM comp_detail_vue;

/*

MODEL OF PATENT PREPIL NOMPIL SALARY

------ ------ -------------------- ------------ ----------

AB-1 PL Benoit Sarda 4000.2

AB PL2 Romaric Benech 5000.4

*/

-That is the problem

SELECT DBMS_XMLSTORAGE_MANAGE.getSIDXDefFromView ('COMP_DETAIL_VUE')

FROM DUAL;

/*

ERROR:

ORA-06502: PL/SQL: error Numurique or error on a value: to wildcard cha¯ne pad printing too

small

ORA-06512: O "XDB. DBMS_XMLSTORAGE_MANAGE', line 2667

ORA-06512: O "XDB. DBMS_XMLSTORAGE_MANAGE', line 2969

*/

Hmm..., same result in 12.1.0.2.0. Overall it seems to be a bug although I have only seen 'getSIDXDefFromView', although always in the XMLDB Developer's Guide, eliminated in the packages (http://docs.oracle.com/database/121/ARPLS/d_xmlstorage_man.htm#ARPLS73588) reference.

That said perhaps what follows is to help you to do it manually:

DROP TABLE t_col_xml is serving;

CREATE TABLE t_col_xml

(nom_doc VARCHAR2 (30) PRIMARY KEY, col_xml XMLType)

XMLTYPE AS XML BINARY col_xml STORE;

INSERT INTO t_col_xml (nom_doc, col_xml) VALUES

("compagnie.xml",

((XMLType.CREATEXML)

'

AB

Benoit

SARDA

4000.20

Romaric

Benech

5000.40

Air Blagnac

') ) );

CREATE or replace VIEW comp_detail_vue AS

SELECT a.comp, b.brevet, b.prepil, b.nompil, b.salaire

OF t_col_xml.

XMLTABLE ('/ company ' ADOPTION col_xml)

Comp VARCHAR2 COLUMNS (6) PATH "comp."

PILS XMLType PATH ' pilot/pilot'),

XMLTABLE ('pilot' ADOPTION a.pils

Patent of VARCHAR2 COLUMNS (6) "@brevet."

prepil PATH VARCHAR2 (20) "first name",

nompil PATH VARCHAR2 (20) "name."

b salary NUMBER PATH "wages");

Col nompil FORMAT A12

the value of 10000 long

' ALTER SESSION SET nls_numeric_characters =".";

SELECT * FROM comp_detail_vue;

SELECT DBMS_XMLSTORAGE_MANAGE.getSIDXDefFromView ('COMP_DETAIL_VUE')

FROM DUAL;

/*

CALL DBMS_XMLINDEX.dropParameter ('company');

CALL DBMS_XMLINDEX.registerParameter)

'company. '

DBMS_XMLSTORAGE_MANAGE.getSIDXDefFromView ('COMP_DETAIL_VUE'));

*/

CREATE INDEX i_col_xml

ON t_col_xml (col_xml)

INDEXTYPE IS "XDB". "" XMLINDEX.

PARAMETERS ('GROUP compagnie_group

XMLTABLE comp_sxi

(tablespace users)

"/ company"

COLUMNS

model VARCHAR2 (6) PATH "mock-up",.

PILS XMLType "drivers/driver" VIRTUAL PATH

XMLTABLE comp_pils_sxi

(tablespace users)

"pilot" PASSER-BY pils

COLUMNS

patent VARCHAR2 (6) PATH "@brevet".

prepil VARCHAR2 (20) PATH "first name",

nompil VARCHAR2 (20) PATH "name",

salary NUMBER PATH 'salary'

');

explain plan for

SELECT * FROM comp_detail_vue;

SELECT * FROM TABLE (dbms_xplan.display);

--------------------

OUTPUT

--------------------

table deleted T_COL_XML.

table created T_COL_XML.

1 inserted rows.

view COMP_DETAIL_VUE created.

session the changed VALUE.

MODEL OF PATENT PREPIL NOMPIL SALARY

------ ------ -------------------- ------------ ----------

AB-1 PL Benoit Sarda 4000.2

AB PL2 Romaric Benech 5000.4

Error at startup to the line: 48 in command.

SELECT DBMS_XMLSTORAGE_MANAGE.getSIDXDefFromView ('COMP_DETAIL_VUE')

OF THE DOUBLE

Error report-

SQL error: ORA-06502: PL/SQL: digital or value error: character string buffer too small

ORA-06512: at "XDB". DBMS_XMLSTORAGE_MANAGE', line 2667

ORA-06512: at "XDB". DBMS_XMLSTORAGE_MANAGE', line 2969

06502 00000 - "PL/SQL: digital error or the value of %s.

* Cause:

* Action:

index created I_COL_XML.

plan FOR successful.

PLAN_TABLE_OUTPUT

-----------------------------------------------------------------------------------------------------------------

Hash value of plan: 2425154757

-----------------------------------------------------------------------------------------------------------------

| ID | Operation | Name                   | Lines | Bytes | Cost (% CPU). Time |

-----------------------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT |                        |     1.  1075 |     2 (0) | 00:00:01 |

|   1.  NESTED LOOPS |                        |     1.  1075 |     2 (0) | 00:00:01 |

|   2.   NESTED LOOPS |                        |     2.  1075 |     2 (0) | 00:00:01 |

|   3.    NESTED LOOPS |                        |     1.   531.     2 (0) | 00:00:01 |

|   4.     FULL RESTRICTED INDEX SCAN FAST | SYS_C009751 |     1.    12.     2 (0) | 00:00:01 |

|   5.     TABLE ACCESS BY ROWID INDEX BATCH | COMP_SXI |     1.   519.     0 (0) | 00:00:01 |

|*  6 |      INDEX RANGE SCAN | SYS91605_91606_RID_IDX |     1.       |     0 (0) | 00:00:01 |

|*  7 |    INDEX RANGE SCAN | SYS91605_91609_PKY_IDX |     2.       |     0 (0) | 00:00:01 |

|   8.   TABLE ACCESS BY INDEX ROWID | COMP_PILS_SXI |     2.  1088.     0 (0) | 00:00:01 |

-----------------------------------------------------------------------------------------------------------------

Information of predicates (identified by the operation identity card):

---------------------------------------------------

6 - access ("T_COL_XML". ROWID = "SYS_SXI_2." ("' RID ')

7 - access("SYS_SXI_2".") KEY '= 'SYS_SXI_3'.' PKEY")

Note

-----

-the dynamic statistics used: dynamic sampling (level = 2)

25 selected lines

Tags: Database

Similar Questions

  • XML data model. Using the SUM() function

    Hello

    I have a data model where I want to create a column of synthesis based on the Group of children.

    * < name of group = "G_RO_ESTIMATES" source = "Q_RO_ESTIMATES" >
    < element name = "ESTIMATE_TOTAL" value = "G_RO_ESTIMATE_LINES. "CHARGE of" function = "SUM ()" / > "

    < name of group = "G_RO_ESTIMATE_LINES" source = "Q_RO_ESTIMATE_LINES" >
    < element name = "LOAD" value = "LOAD" / >
    < / Group >
    < / Group > *.

    ESTIMATE_TOTAL returns 0
    even if the value of the column LOAD is 760.

    I got the function SUM() to work on another group further in my model data, but for some reason, it won't work.

    Does anyone have an idea on what is wrong?

    Thank you in advance.

    Kenneth BR

    give the name of the element diff CHARGE_TEST

    *




    *

    Sometimes the name overlap which results in zero... keep unique names
    (I guess I already logged a bug for this return sometimes)

  • Extract XML data using XML table NULL recovery

    Hello

    I use XMLtable to recover data using XMLtable

    XML

    "< env:Envelope xmlns:env = ' http://schemas.xmlsoap.org/SOAP/envelope/ ">

    < env:Header > < / env:Header >

    < env:Body >

    " < = Xmlns:ns1 CreditBureauResponse ' http://www.example.org "xmlns =" " http://www.example.org ">

    < ns1:Body >

    < ns1:MGResponse > & lt; MGResponse xmlns = "urn: crif - messagegateway:2006 - 08-23" > & lt; U2:AUE_RES xmlns:u2 = "urn: AUE" > & lt; U2:response > & lt; U2:CBApplicationId > 123456789 & lt; / u2:CBApplicationId > & lt; U2:ProviderApplicationNo > 123 & lt; / u2:ProviderApplicationNo > & lt; U2:PreviousPhase > D & lt; / u2:PreviousPhase > & lt; U2:ActualPhase > D & lt; / u2: ActualPhase > & lt; U2:ApplicationDeleted > 0 & lt; / u2:ApplicationDeleted > & lt; / u2:Response > & lt; / u2:AUE_RES > & lt; / MGResponse > < / ns1:MGResponse >

    < / ns1:Body >

    < / CreditBureauResponse >

    < / env:Body >

    "< / env:Envelope >.

    I would like to know where I am going wrong

    SELECT x1.*

    OF tmp_xml_aue t.

    XMLTABLE (XMLNAMESPACES ('http://schemas.xmlsoap.org/soap/envelope/"as"env","http://www.example.org"as 'ns1", default'http://www.example.org'), )

    ' / env:Envelope / env:Body / CreditBureauResponse' T.OBJECT_VALUE by the WAY

    columns MGRESPONSE xmltype PATH "ns1:Body/ns1:MGResponse/text()") X 1,

    XMLTABLE (XMLNAMESPACES ("urn: crif - messagegateway:2006 - 08-23' as"v1", default" urn: AUE' '), ' / MGResponse/AUE_RES ' PASSAGE xmltype (DBMS_XMLGEN.convert (X 1.) MGRESPONSE. GETCLOBVAL(), 1))

    columns CBAPPLICATIONID varchar2 (15) WAY "response/CBApplicationId.

    ) X 2;

    Hello

    I saw your question and I hope that the link below will help you solve your solution:

    https://Oracle-base.com/articles/Misc/XMLTable-query-XML-data-from-SQL

    If there are problems more made me know I'll like you the exact solution for your query.

    Kind regards

    Vinoth.

  • Select this OPTION to generate XML data from the table using XMLELEMENT, XMLAGG gives error ORA-19011 string buffer too small

    My select statement fails with the error:


    The ORA-19011 string buffer too small


    The select statement looks like:


    SELECT TO_CLOB)

    XMLELEMENT ("accounts",

    XMLELEMENT ("count",

    XMLATTRIBUTES)

    rownum AS "recordId."

    To_date('20130520','YYYYMMDD') AS "datestarted."

    123456 AS "previousBatchId."

    56789 AS 'previousRecordId '.

    ),

    ....

    .... .

    .....

    XMLFOREST)

    SIG_ROLE AS "SignatoryRole."

    To_char(TRANSFER_DATE,'YYYY-mm-DD') AS "TransferDate."

    NVL(Reason,0) AS 'reason '.

    ) AS the 'transfer '.

    )

    ()) AS CRDTRPT

    OF ANY_TABLE;

    • It looks like I can choose only 4000 characters using the SELECT statement (please, correct me if I'm wrong)

    I'd use the XMLGEN package. But the environment team says no mounted drives in the future with the arrival of the EXADATA.

    NO HARD DRIVE MOUNTED, NO ACCESS TO THE DATABASE DIRECTORIES

    No UTL_FILE

    I need to use the REEL spool the resulting XML data of the SELECT query.

    SQL is a standard in my org, but I can do with a PL/SQL solution also to load data into a table (cannot use a COIL with PL/SQL)

    What I do is:

    1. a column of type CLOB to a xml_report of the loading of the above SELECT query table
    2. Then using SELECT * FROM xml_report to SPOOL the data to a file report.xml

    No need of XMLTYPE data behind. Xml data stream is fine for me.

    In addition, I need to validate the XML file, also using XSD.

    Problem is that the resulting lines of the select query are supposed to be from 15000 to 20000 bytes long.

    Oracle database version: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production

    A Suggestion or a solution to this problem would be appreciated.

    (Sorry for the use of "BOLD", just to make it more readable and highlight the imp points)

    Bravo!

    Rahul

    It looks like I can choose only 4000 characters using the SELECT statement (please, correct me if I'm wrong)

    You use the right method.

    There is an implicit conversion from XMLType to the data type VARCHAR2 as expected by the function TO_CLOB, where the limitation, and the error.

    To serialize XMLType to CLOB, use the XMLSerialize function:

    SELECT XMLSerialize (DOCUMENT

    XMLELEMENT ("accounts",

    ...

    )

    )

    OF ANY_TABLE;

    For the rest of the requirement, I wish you good luck trying to spool the XML correctly.

    You may need to play around with the SET LONG and SET LONGCHUNKSIZE commands to operate.

  • Using EXTRACT XML data extraction

    Hi, I have a XML file where I want to analyze the fields in a table in DB:

    <? XML version = "1.0" encoding = "UTF-8"? >
    < FIXML > < batch > < MktDataFull BizDt = '2012-07-13' > < Instrmt Sym = "JCPRXU" ID = "JCPRXU" Desc = "JCP.SR. XR. «USD"SecTyp ="CD"Src ="H"subtype = MMY" S "="201209"MatDt = ' 2012-09-20" Mult = Exch "0.01" = "CMD" UOM = "CTL" UOMCcy = "USD" UOMQty = "1" PxUOM = "IPNT" ValMeth = "CD" CpnRt = "1.0" IntAcrl = ' 2012-06-20 ' CpnPmt = ' 2012-09-20 ' NotnlPctOut = "100.0" Snrty = 'SR' RstrctTyp = 'XR' DayCntMeth = "ACT/360" tenor = "0 M" > < DITTA HELP = "US708130AC31" AltIDSrc = "105" / > < HELP AltID = "JCP.SR." "" ""» XR. USD.12U.100"AltIDSrc ="101"/ > < HELP DITTA = '1 201209 JCPRXU' AltIDSrc = 'H' / > < DITTA HELP ="1 201209 JCPRXU"AltIDSrc ="100"/ > < Evnt EventTyp ="5"Dt ="2008-09-19"/ > < Evnt EventTyp = '7' Dt = '2012-09-19' / > < Evnt EventTyp ="19"Dt ="2012-10-05"/ > < Evnt EventTyp ="100"Dt ="2012-07-16"/ > < Evnt EventTyp = '8' Dt ="2012-07-14"/ > < Evnt EventTyp = '9' Dt = '2012-09-20' / > < Evnt EventTyp ="101"Dt = '2012-03-20' / > < Evnt EventTyp ="102"Dt ="2008-09-20"/ > < Evnt EventTyp = « 103 » Dt = « 2008-09-22 » / >< Evnt EventTyp = « 104 » Dt = « 2012-09-19 » / >< Evnt EventTyp = « 111 » Dt = « 2012-09-20 » / >< Evnt EventTyp = « 112 » Dt = « 2012-06-20 » / >< Evnt EventTyp = « 113 » Dt = « 2012-03-20 » / >< Evnt EventTyp = « 114 » Dt = « 2012-07-12 » / >< Evnt EventTyp = « 115 » Dt = « 2012-07-16 » / >< / Instrmt >< complet Typ = « 6 » Px = Mkt « 99.7433368 » = « CMD » QCond = « 6 » PxTyp = « 1 » OpenClsSettlFlag = « 1 » >< / Full >< complet Typ = « 6 » Px = « 234.5254 » Mkt = QCond « CMD » = « 6 » PxTyp = « 6 » ' OpenClsSettlFlag = '1' > < / Full > < full Typ = "Y" Px = Mkt "40.0" = 'CMD' PxTyp = '1' OpenClsSettlFlag = '1' > < / Full > < full Typ = '6' Px = "234.5212" Mkt = QCond 'CMD' = '7' PxTyp = '6' OpenClsSettlFlag = '1' > < / Full > < full Typ = Mkt "B" = 'CMD' OpenClsSettlFlag = '4' Sz = '0' > < / Full > < full type = 'C' Mkt = 'CMD' OpenClsSettlFlag = '4' Sz = '0' > < / Full > < full Typ = 'z' Px = Mkt '0.18' = 'CMD' PxTyp = '1' OpenClsSettlFlag = '1 '. > < / full > < full Typ = 'y' Px = "0.1899965" Mkt = QCond 'CMD' = '6' PxTyp = '5' OpenClsSettlFlag = '1' > < / Full > < InstrmtExt > < Attrb Typ = '100' Val = '24' / > < Attrb Typ = '101' Val = '0' / > < Attrb Typ = '109' Val = '0' / > < Attrb Typ = '103' Val = '24' / > < Attrb Typ = '102' Val = '24' / > < Attrb Typ = '110' Val = '3' / > < Attrb Typ = '29' Val = 'Y' / > < Attrb Typ = '112' Val = 'Y ' /. > < / InstrmtExt > < / MktDataFull > < / batch > < / FIXML >


    Right now, I'm just trying to extract the first 3 fields, BizDt, Bal and id I use to analyze the following:


    SELECT
    Extract (value (p), '/BizDt') .getStringVal () AS DATE_,.
    Extract (value (p), ' /Instrmt/Sym').getStringVal (AS SYMBOL),)
    Extract (value (p), ' /Instrmt/ID').getStringVal () AS ID_)

    OF s TABLE_NAME.
    TABLE (XMLSEQUENCE (Extract (xmlType.createXml (s.CDS_CLOB), ' FIXML/batch/MktDataFull / *'))) p
    WHERE s.ID_ = 1

    But I get nothing back. My guess is the because the XML data does not have opening tags and formal closing, because if I change my XML like this:

    <? XML version = "1.0" encoding = "UTF-8"? >
    < FIXML > < batch > < MktDataFull > < BizDt > 2012 - 07 - 13 < / BizDt > < Instrmt > < Sym > JCPRXU < / Sym > < ID > JCPRXU < /ID > < Desc > JCP.SR. XR. USD < / Desc > < SecTyp > CD < / SecTyp > < / Instrmt > < / MktDataFull > < / batch > < / FIXML >

    I was able to get the data. Therefore, in order so solve this problem, what should I do with my original XML? Can I format the tags?

    Thank you

    When you nest xsl: for each of the elements, the select expression is evaluated in the context of the enclosing instance.

    Consider this:

    
      
    

    This means you are trying to match items complete as children Instrmt, that is not correct, because they are actually siblings.
    In the same goes for HELP, Evnt etc.

    I don't know what kind of structure you want.
    Caps all does not much sense given that groups of brothers of repeat items that have no apparent correlation between them. Essentially, you end up with a big Cartesian product.

    I would approach this by storing repeated elements in different tables with a parent/child relationship to preserve the hierarchical nature of the data (if necessary).

  • Script for the use of XML data to pre file form open using the player

    I need to pre fill five fields when the user opens the form using Acrobat Reader (title, name, address, etc.). The values are saved in an xml data file in the same directory as the form (no database or web services connections). I tested the xml code and form structures using shapes-> manage form data-> import data and everything works fine. Now, I need to emulate this behavior programmatically, so it does not work using only Acrobat Reader. I can't find the magic java script command to import the data (I tried xfa.host.importData and xfa.datasets.data.loadXML without result). Require purchase Pro or Livecycle Server product is not an option. This seems to be a basic requirement, so I hope I'm just being stupid and missing of which is obvious. Thank you.

    Hello

    Unless you're reader allowing the form with LiveCycle Reader Extensions ES, users with reader will NOT be able to import (or export) XML.

    Summary here: https://acrobat.com/#d=3lGJZAZuOmk8h86HCWyJKg

    Based on your description that you look at options 2 and 3, users with the reader.

    Sorry,

    Niall

  • How to extract data using the xml data type

    Hello
    I tried the following example using the xml data type, but not the desired output.
    could you please correct the query in order to obtain the necessary
    CREATE TABLE TEST.EMP_DETAIL
    (
      EMPNO       NUMBER,
      ENAME       VARCHAR2(32 BYTE),
      EMPDETAILS  SYS.XMLTYPE
    )
    Insert into EMP_DETAIL
       (EMPNO, ENAME, EMPDETAILS)
     Values
       (7, 'Martin', XMLTYPE('<Dept>
      <Emp Empid="1">
        <EmpName>Kevin</EmpName>
        <Empno>50</Empno>
        <DOJ>20092008</DOJ>
        <Grade>E3</Grade>
        <Sal>3000</Sal>
      </Emp>
      <Emp Empid="2">
        <EmpName>Coster</EmpName>
        <Empno>60</Empno>
        <DOJ>01092008</DOJ>
        <Grade>E1</Grade>
        <Sal>1000</Sal>
      </Emp>
      <Emp Empid="3">
        <EmpName>Samuel</EmpName>
        <Empno>70</Empno>
        <DOJ>10052008</DOJ>
        <Grade>E2</Grade>
        <Sal>2530</Sal>
      </Emp>
      <Emp Empid="4">
        <EmpName>Dev</EmpName>
        <Empno>80</Empno>
        <DOJ>10032007</DOJ>
        <Grade>E2</Grade>
        <Sal>1200</Sal>
      </Emp>
    </Dept>
    '));
    I need to get the record for Empid = '2'
    Then tried the following query with no expected o/p
    SELECT a.empno,a.ename,a.empdetails.extract('//Dept/Emp/EmpName/text()').getStringVal() AS "EmpNAME",
         a.empdetails.extract('//Dept/Emp/Empno/text()').getStringVal() AS "EMPNumber",
          a.empdetails.extract('//Dept/Emp/DOJ/text()').getStringVal() AS "DOJ",
          a.empdetails.extract('//Dept/Emp/Grade/text()').getStringVal() AS "Grade",
          a.empdetails.extract('//Dept/Emp/Sal/text()').getStringVal() AS "Salary",
          a.empdetails.extract('//Dept/Emp[@Empid="2"]').getStringVal() AS "ID",
          a.empdetails.extract('//Dept/Emp[EmpName="Coster"]').getStringVal() AS "CHK"
         FROM emp_detail a 
         where empno=7  
               AND a.empdetails.existsNode('//Dept/Emp[@Empid="2"]') =1
    Thank you...

    Karthick_Arp wrote:
    I'm not very good at that... But if your XML code should not be more like this

    SQL> Insert into EMP_DETAIL
    2     (EMPNO, ENAME, EMPDETAILS)
    3   Values
    4     (7, 'Martin', XMLTYPE('
    5    
    6      1
    7      Kevin
    8      50
    9      20092008
    10      E3
    11      3000
    12    
    .. cut ..
    

    Why? It is perfectly valid to data as attributes rather than elements and also quite common for key values.

  • CDATA section get lost during the storage of data in binary xml format

    Hello

    If anyone has found any documentation that once you store XML to binary xml format, it will not save CDATA tags? What is the expected behavior or a bug?

    for example, you have an instance xml like this:

    < foo > <! [CDATA [this is CDATA-content]] > < / foo >

    but once save you it in a table that stores this XMLType instance as binary xml, it is what is returned:

    < foo > it is CDATA content < / foo >

    Anyone can shed some light on this?

    Best regards

    Jürgen

    What is your version of the database?

    I reproduce on 11.2.0.2 or 11.2.0.3:

    SQL > create table xmltype tmp_xml

    xmltype store 2 as securefile xml binary;

    Table created.

    SQL > insert into tmp_xml values)

    xmlParse 2 (document ' ')

    3  );

    1 line of creation.

    SQL > select object_value in the tmp_xml;

    OBJECT_VALUE

    --------------------------------------------------------------------------------

  • How to use a variable to browse the XML data

    My chart has xml data that looks like this:

    < getViewResponse >

    < getViewResult >

    < DocumentElement >

    < ColumnChart >

    < month >

    "Dec".

    < NetIncome >

    1000

    < ColumnChart >

    etc.

    etc.

    the following lines in actionscript work perfectly for the table:

    resultxml = event.result.getViewResult.DocumentElement.ColumnChart as XMLList

    chart data provider

    _chartDP = new XMLListCollection (resultxml);

    The last argument of Colum graphic in DocumentElement.ColumnChart will change. I want to make this variable instead.

    I tried DocumentElement +'. ' + this. [ColumnChart] but I get an error telling me that the property does not exist.

    The following almost works:

    event.result.getViewWithTitlesResult.DocumentElement. *.

    but my card has a series of additional data empty.

    How can I adjust the latter to a variable?

    If the data that currently say you XMLList has a single point, just cast to XML with XML (myXMLLIST) or "myXMLLIST in Xml format.

    If this post answers your question or assistance, please mark it as such.

  • Binary xml integration using oracle xml db

    Hello

    Give me some example of xml binary.

    With respect,
    L.Rajesh

    It can be as simple as

    Connected to Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 
    
    SQL>
    SQL> create table randomtab of xmltype
      2  xmltype store as securefile binary xml;
    
    Table created
    
    SQL>
    SQL> insert into randomtab
      2  values
      3  (xmltype(''));
    
    1 row inserted
    

    or much more detail on the basis of registered patterns and how come you to the table with the command CREATE TABLE (http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/statements_7002.htm#SQLRF01402)

  • Update of a column of table from xml data

    Hello

    I have an obligation to update a particular table from xml data column. to do this, I wrote the code below but I am not able to insert. could you please a peek into that.

    create table emp3
    as
    select *From emp
    where 1=1;
    
    alter table emp3
    add (fax_response varchar2(50));
    
    /*create sequence EmailRecords_XMLFILE_SEQ
      minvalue 1
      maxvalue 999999999999999999999999999
      start with 1
      increment by 1
      nocache;*/
    
    /* create global temporary table EmailRecords_XMLFILE
      (
      ID NUMBER not null,
      xmlfile CLOB
      )
      on commit preserve rows;*/
    
    /* create global temporary table UPD_Email_Records_With_Xml
      (
      id NUMBER not null,
    
      response VARCHAR2(500)
    
      )
      on commit preserve rows; */
    
    
    

    the XML data is

    <FAX>
    <EMAILOG>
    <ID>7839</ID>
    <RESPONSE>FAX SENT</RESPONSE>
    </EMAILOG>
    <EMAILOG>
    <ID>7566</ID>
    <RESPONSE>FAX NOT SENT</RESPONSE>
    </EMAILOG>
    </FAX>
    
    
    

    CREATE OR REPLACE PROCEDURE proc_upd_email_records (
       loc_xml          IN       CLOB,
       p_err_code_out   OUT      NUMBER,
       p_err_mesg_out   OUT      VARCHAR2
    )
    IS
       loc_id   NUMBER;
    BEGIN
       loc_id := emailrecords_xmlfile_seq.NEXTVAL; --created sequence
    
    
    
       INSERT INTO emailrecords_xmlfile --created Global Temp table
                   (ID, xmlfile
                   )
            VALUES (loc_id, loc_xml
                   );
    
       COMMIT;
          insert into UPD_Email_Records_With_Xml --created Global Temp table
            (ID, RESPONSE)
            select x1.id,
    
                      x1.RESPONSE
              from EmailRecords_XMLFILE,
                   xmltable('/FAX/EMAILOGID' passing
                            xmltype.createxml(EmailRecords_XMLFILE.xmlfile)
                            columns header_no for ordinality,
                            id number path 'ID',
                            RESPONSE VARCHAR2(250) path 'RESPONSE'
    
                               ) x1
             where EmailRecords_XMLFILE.id = loc_id;
       COMMIT;
    
       UPDATE emp3 er
          SET er.fax_response = (SELECT response
                               FROM upd_email_records_with_xml pr
                              WHERE pr.ID = er.empno)
        WHERE er.empno IN (SELECT ID
                             FROM upd_email_records_with_xml);
    EXCEPTION
       WHEN NO_DATA_FOUND
       THEN
          raise_application_error
             (-20000,
              'Sorry ! The Xml File which is passed is empty. Please try with Valid Xml File. Thank you!!! '
             );
       WHEN OTHERS
       THEN
          p_err_code_out := 4;
          p_err_mesg_out := 'error in insertion=> ' || SQLERRM;
    END proc_upd_email_records;
    {code}{code}
    
    
    

    Someone suggest me a slightly easier way to insert data...

    Thank you...

    You're complicating things

    A simple MERGE statement will do.

    create or replace procedure (proc_upd_email_records)

    loc_xml in clob

    )

    is

    Start

    merge into e emp3

    a_l'_aide_de)

    Select id

    response

    from xmltable)

    "/ FAX/EMAILOG.

    by the way xmlparse (document loc_xml)

    the columns id number way "ID".

    , path of varchar2 (250) response 'RESPONSE '.

    )

    ) v

    on (e.empno = v.id)

    When matched then update

    Set e.fax_response = v.response

    ;

    end;

    /

    But there is no value added by using these temporary tables if you are not at least an intermediate XMLType column (storage preferably binary XML).

    -What is the input XML code?

    -What is the version of db?

  • Can I create an XSD from XML data into a CLOB?

    Environment:


    Oracle 11.2.0.3 EE on Solaris.


    Highly an XML newbie so please be nice!

    I spent the past few days pouring through the documentation and various articles, including this one, but... I need help.

    I am trying to extract XML data stored in a CLOB and produce a flat file for the user's consumption.

    They sent me what they think is the XSD for XML data, but when I look at the data in the CLOB I don't see tags in the XSD.

    I would like to produce a XSD based on real data to compare with what they sent.

    Is this possible?

    I am able to query XML data using the tags that I see in data using XMLTable and it works fine.

    Any help is greatly appreciated.

    -gary

    Welcome to the side of the world, where you're going to love it and curse, like any other piece of XML technology.

    So if I understand correctly, the scope of your operation is to extract information from an XML file and then write this information to the disk, correct?

    A few questions

    -Why did the XML stored in a CLOB instead of an XMLType column?  Without knowing the history of the system, it is a pertinent question.

    -What size are the XML?  I ask this question, it is because when the XML is stored in the columns of XMLType (relational structure object or XML BINARY SECUREFILE format), then Oracle can parse the XML much more easily when it is stored as a CLOB.  If the XML is small enough, you can see no difference in performance between the two.

    The Oracle DB itself has no built in the ability to generate a schema from an XML file.  To do this, you need to use a third-party tool that has this feature in.  For example, XML Spy can do.  Other tools as well, but that's what comes to mind first is what I use.  The only thing to remember is that the scheme he built is only an XML instance.  Other XML instances can be different and not valid against the schema you generated, but still valid against the original schema unknown.

    You can save the schema in the database and then use the XML to create an XMLType instance related to the schema and then validate the XML in this way.  An example XML DB FAQ and here's another one Re: validation of XML schema

    Hope that helps you continue.

  • How to determine if a data type is used in the comic book?

    Background:
    I am currently planning to install GoldenGate proof of Concept and have questions about the data types supported by the capture mode (pg 1-5, 1-6 in the installation guide). Is not in itself a matter of GoldenGate.

    Our source and target databases are 11.2.0.2
    The GG server will be 11.2.0.3
    I'm new to the environment and want to confirm that we needn't upgrade the source and target the DBs to 11.2.0.3 in order to use the integrated capture mode. This forces me to know if 3 specific types of data are used in the comics. The problem is, Oracle docs aren't clear to me, when they refer to 3 specific data types.

    Here's the question:

    Does anyone know how I can confirm that the following 3 data types are used in the DB by querying the dictionary: "XML stored in binary form',"XML stored as object-relational","abstract data Type "?

    If I select the types of data separate from dba_tab_columns, I see no data enumerated type that indicates, for example, that an XML string is stored as a ' binary '.

    For me, when Oracle made reference to a "stored as binary XML" on page 1-6 on the installation guide, I guess that makes Oracle refers to a BLOB that contains an XML reference, but I can't be sure.

    Someone has an idea that they could share? I just want to confirm that we do not have to upgrade our source and target DBs at 11.2.0.3 by searching in the database is possible to confirm that the above 3 data types are not used by the application.

    Thanks in advance for any help.
    Tony G

    You should find XML columns stored in binary form or CLOB using the DBA_XML_TAB_COLS view referenced in http://docs.oracle.com/cd/E11882_01/appdev.112/e23094/xdb01int.htm#g644983.

    You should find XML tables using storage relational object in the view DBA_OBJECT_TABLES with:

    select
    owner,
    table_name,
    table_type
    from
    dba_object_tables
    where
    table_type='XMLTYPE';
    

    To abstract data type, you can query DBA_TAB_COLUMNS using ADT as literal for DATA_TYPE column:

    SQL> select * from v$version;
    
    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE    11.2.0.2.0      Production
    TNS for 32-bit Windows: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production
    
    SQL> drop table t purge;
    
    Table dropped.
    
    SQL> drop type adt;
    
    Type dropped.
    
    SQL> --
    SQL> create type adt is object
      2  (
      3   c1 number,
      4   c2 varchar2(30)
      5  ) final
      6  /
    
    Type created.
    
    SQL> show errors
    No errors.
    SQL> create table t
      2  (
      3  c adt
      4  )
      5  /
    
    Table created.
    
    SQL> show errors
    No errors.
    SQL> --
    SQL> column table_name format a10
    SQL> column column_name format a10
    SQL> column data_type format a10
    SQL> select
      2  table_name,
      3  column_name,
      4  data_type
      5  from user_tab_columns
      6  where
      7  table_name='T';
    
    TABLE_NAME COLUMN_NAM DATA_TYPE
    ---------- ---------- ----------
    T          C          ADT
    

    Edited by: P. Forstmann on 8 Apr. 2013 20:28

    Edited by: P. Forstmann on 8 Apr. 2013 21:05

  • How update the relational table with XML data?

    I get XML messages that include a bunch of data items to be updated in a table. An arbitrary subset of rows is updated for each message received.

    The output of the following example is correct, but the use of the intermediate table that bothers me. The temporary table can be eliminated somehow? Or is the most reasonable way to loop just explicitly and parse the XML message and then update each row separately?

    I'm under 11.2.0.1.0.
    create table otn9test (
      id number not null primary key,
      data xmltype
    );
    
    insert into otn9test values (1, xmltype('<data>default for 1</data>'));
    insert into otn9test values (2, xmltype('<data>default for 2</data>'));
    insert into otn9test values (3, xmltype('<data>default for 3</data>'));
    
    create table otn9input (
      id number,
      data xmltype
    );
    
    column data format a30
    
    declare
      updata constant xmltype := xmltype('<root>
      <item>
        <id>1</id>
        <data>Id 1 updated.</data>
      </item>
      <item>
        <id>3</id>
        <data>Id 3 updated.</data>
      </item>
      <item>
        <id>4</id>
        <data>Id 4 updated.</data>
      </item>
    </root>');
    
    begin
      insert into otn9input
        select * from
        xmltable('/root/item' passing updata
              columns
              id number path 'id',
              data xmltype path 'data');
    
      update otn9test t set data = (
        select data from otn9input i
        where t.id = i.id
      ) where t.id in (select id from otn9input);
    
      commit;
    end;
    /
    
    select * from otn9input;
    
    /*
         ID DATA
    ---------- ------------------------------
          1 <data>Id 1 updated.</data>
          3 <data>Id 3 updated.</data>
          4 <data>Id 4 updated.</data>
    */
    
    select * from otn9test;
    
    /*
         ID DATA
    ---------- ------------------------------
          1 <data>Id 1 updated.</data>
          2 <data>default for 2</data>
          3 <data>Id 3 updated.</data>
    */
    
    drop table otn9input;
    drop table otn9test;

    The temporary table can be eliminated somehow?

    You can do it with the MERGER:

    merge into otn9test t
    using (
      select id, data
      from xmltable('/root/item' passing updata
            columns
              id   number  path 'id',
              data xmltype path 'data'
           )
    ) x
    on ( t.id = x.id )
    when matched then update
     set t.data = x.data
    ;
    

    However, if you are looking for performance on large data sets, I think that the best is to use an intermediate table of XMLType (binary storage) to maintain the XML instance.

    create table otn9input of xmltype
    xmltype store as securefile binary xml;
    
    insert into otn9input values(
    xmltype('
      
        1
        Id 1 updated.
      
      
        3
        Id 3 updated.
      
      
        4
        Id 4 updated.
      
    ')
    );
    
    merge into otn9test t
    using (
    select id, data
    from otn9input,
         xmltable('/root/item' passing object_value
              columns
                id number path 'id',
                data xmltype path 'data'
         )
    ) x
    on ( t.id = x.id )
    when matched then update
     set t.data = x.data
    ;
    

    A structured XMLIndex could also help.

  • Problems with the display of XML data

    I'm a bit new to Flash and have problems out XML data in Flash. Basically, when I saw publication, all data load XML file and displays very well. But when I actually publish the file and view in a browser, no data is displayed.

    Data from XML is happening in the areas of dynamic text (title, description, image).

    I use an absolute URL to retrieve the XML data, and I tried a lot of text integrated solutions, and nothing has worked. Here, any help would be greatly appreciated.

    I have attached the script action, but also a piece of the XML file I get the data.

    After going through each difficulty as possible, I could find, I managed to miss the information contained in the link below. This fixed my issue.

    http://www.Adobe.com/cfusion/knowledgebase/index.cfm?id=tn_14213

Maybe you are looking for

  • cursor jump after update of the Sierra

    After update of last week to Sierra of MacOS, I noticed many times randomly my cursor will jump erratically. I noticed several times why in an application like Photoshop Adobe or Illustrator but today it happened so that in Safari. Its very rare that

  • T440s and X 1 carbon poster

    I have heard some criticism of the T440s and X 1 touch screens of carbon having the door 'effect on the screen." What does that mean? They talk about the extra protective cover that goes over the main screen? People are not happy with this style, or

  • magnetic area near touchpad

    Hi guys,. I'm having a T420. I realized that the box right next to my touchpad is magnetic! is this normal? concerning CG

  • ProBook 450 g2: probook 450 g2 i3

    In the description you named this device: "Expansion Slots 1 multi media formats digital reader (SD, SDHC, SDXC). and does not work. I can't find driver for this device. Please send me the address to download and install this driver. I tried this but

  • IE8 will not save jpgs in bmp files. How can I fix? __

    Trying to save photos to jpg file, Windows Explower 8 (running under Vista 64) only allow me to save these files as bmp files.  How can I fix?