Nested XML inserted as NULL in table

I am inserting a nested XML document into two relational tables. I am using Chapter 12 of Steve Muench's book as a guide to build the two tables, the table and object types, the view and the trigger. The master table inserts fine. The row count on the detail table is correct with the PK from the master being inserted, but the values for all of the nested data in the detail table are NULL.
This same exact thing happens when I use a nested table on the master table instead...nested values are NULL in that collection as well.
I tried posting all of the code earlier, but the forum post puked. I can again if needed.
I have seen a couple of old posts on this problem, with no answers...
TIA,
Dave

Thanks for the reply.
When I am using (Coulmn) == "" ? NULL(DT_WSTR,225) : Coulmn for making blank as null it is working fine.
But it is making null as string, but I don't want to use null as string. As I am using Null in my stored procedure to load sub region data where "country is null".
If I will use above expression of derived column it will make it as string which is not recommended in my case.
Do you have any solution for it.

Similar Messages

  • Date insertion from large XML document (clob) into relation table very slow

    Hi Everybody!
    I'm working with Oracle 9.2.0.5 on Microsoft Windows Server 2003 Enterprise Edition.
    The server (a test server) is a Pentium 4 2.8 GHz, 1GB of RAM.
    I use a procedure called PARITOP_TRAITERXMLRESULTMASSE to insert the data contained in the pXMLDOC clob parameter in the table pTABLENAME. (You can see the format of the XML document below). The first step on this procedure is to verify that the XML document is not empty. If not, the procedure needs to add a node in the document, in every <ROW> tag. This added node is named “RST_ID”. It’s the foreign key of each record. I can retrieve the value of each <RST_ID> node in an other table in which the data has been previously added (by the calling procedure). When each of the <ROW> elements has been treated, the PARITOP_INSERTXML procedure is called. This procedure uses DBMS_XMLSAVE.INSERTXML to insert the data contained in the XML document in the specified table.
    (Below, you can see the code of my procedures.)
    With this information, can you tell me why this treatment is very very very slow with a large XML document and how I can improve it?
    Thank you for your help!
    Anne-Marie
    CREATE OR REPLACE PROCEDURE "PARITOP_TRAITERXMLRESULTMASSE" (
    pPRC_ID IN PARITOP_PARC.PRC_ID%TYPE,
    pRST_MONDE IN PARITOP_RESULTAT.RST_MONDE%TYPE,
    pXMLDOC IN CLOB,
    pTABLENAME IN VARCHAR2)
    AS
    Objectif :Insérer le contenu du XML passé en paramètre (pXMLDOC) à la table passée en paramètre (pTABLENAME)
    La table passée en paramètre doit être une table ayant comme clé étrangère le champs "RST_ID" .
    (Le noeud RST_ID est donc ajouté à tous les document XML. Ce rst_id est
    déterminé à partir de la table PARITOP_RESULTAT grâce à pPRC_ID et
    pRstMonde fournis en paramètre)
    result_doc CLOB;
    XMLDOMDOC XDB.DBMS_XMLDOM.DOMDOCUMENT;
    NODE_ROWSET DBMS_XMLDOM.DOMNODE;
    NODE_ROW DBMS_XMLDOM.DOMNODE;
    vUE_ID PARITOP_RESULTAT.UE_ID%TYPE;
    vRST_ID PARITOP_RESULTAT.RST_ID%TYPE;
    nodeList DBMS_XMLDOM.DOMNODELIST;
    BEGIN
    BEGIN
    vUE_ID := 0;
    vRST_ID := 0;
    XMLDOMDOC := DBMS_XMLDOM.NEWDOMDOCUMENT(pXMLDOC);
    IF NOT GESTXML_PKG.FN_PARITOP_DOCUMENT_IS_NULL(XMLDOMDOC) THEN
    NODE_ROWSET := DBMS_XMLDOM.item(DBMS_XMLDOM.GETCHILDNODES (DBMS_XMLDOM.MAKENODE(XMLDOMDOC)),0);
    for i in 0..dbms_xmldom.getLength(DBMS_XMLDOM.getchildnodes(NODE_ROWSET))-1 loop
    NODE_ROW := DBMS_XMLDOM.ITEM(DBMS_XMLDOM.GETCHILDNODES(NODE_ROWSET), i) ;
    nodeList := DBMS_XMLDOM.GETELEMENTSBYTAGNAME(DBMS_XMLDOM.makeelement(NODE_ROW) , 'UE_ID');
    IF vUE_ID <> DBMS_XMLDOM.GETNODEVALUE(DBMS_XMLDOM.GETFIRSTCHILD(DBMS_XMLDOM.ITEM(nodeList, 0))) THEN
    vUE_ID := DBMS_XMLDOM.GETNODEVALUE(DBMS_XMLDOM.GETFIRSTCHILD(DBMS_XMLDOM.ITEM(nodeList, 0)));
    --on ramasse le rst_id
    SELECT RST_ID INTO vRST_ID
    FROM PARITOP_RESULTAT RST
    WHERE RST.PRC_ID = pPRC_ID
    AND RST.UE_ID = vUE_ID
    AND RST.RST_MONDE = pRST_MONDE
    AND RST_A_SUPPRIMER = 0;
    END IF;
    GESTXML_PKG.PARITOP_ADDNODETOROW(XMLDOMDOC, NODE_ROW, 'RST_ID', vRST_ID);
    end loop;
    RESULT_DOC := ' '; --à garder, pour ne pas que ca fasse d'erreur lors du WriteToClob.
    dbms_xmldom.writeToClob(DBMS_XMLDOM.MAKENODE(XMLDOMDOC), RESULT_DOC);
    --Insertion du document XML dans la table "tableName"
    GESTXML_PKG.PARITOP_INSERTXML(RESULT_DOC, pTABLENAME);
    DBMS_XMLDOM.FREEDOCUMENT( XMLDOMDOC);
    end if;
    EXCEPTION
    […exception treatement…]
    END;
    END;
    The format of a XML clob is :
    <ROWSET>
    <ROW>
    <PRC_ID>193</PRC_ID>
    <UE_ID>8781</UE_ID>
    <VEN_ID>6223</VEN_ID>
    <RST_MONDE>0</RST_MONDE>
    <CMP_SELMAN>0</CMP_SELMAN>
    <CMP_INDICESELECTION>92.307692307692307</CMP_INDICESELECTION>
    <CMP_PVRES>94900</CMP_PVRES>
    <CMP_PVAJUSTE>72678.017699115066</CMP_PVAJUSTE>
    <CMP_PVAJUSTEMIN>72678.017699115095</CMP_PVAJUSTEMIN>
    <CMP_PVAJUSTEMAX>72678.017699115037</CMP_PVAJUSTEMAX>
    <CMP_PV>148000</CMP_PV>
    <CMP_VALROLE>129400</CMP_VALROLE>
    <CMP_PVRESECART>4790</CMP_PVRESECART>
    <CMP_PVRHAB>101778.01769911509</CMP_PVRHAB>
    <CMP_UTILISE>1</CMP_UTILISE>
    <CMP_TVM>1</CMP_TVM>
    <CMP_PVA>148000</CMP_PVA>
    </ROW>
    <ROW>
    <PRC_ID>193</PRC_ID>
    <UE_ID>8781</UE_ID>
    <VEN_ID>6235</VEN_ID>
    <RST_MONDE>0</RST_MONDE>
    <CMP_SELMAN>0</CMP_SELMAN>
    <CMP_INDICESELECTION>76.92307692307692</CMP_INDICESELECTION>
    <CMP_PVRES>117800</CMP_PVRES>
    <CMP_PVAJUSTE>118080</CMP_PVAJUSTE>
    <CMP_PVAJUSTEMIN>118080</CMP_PVAJUSTEMIN>
    <CMP_PVAJUSTEMAX>118080</CMP_PVAJUSTEMAX>
    <CMP_PV>172000</CMP_PV>
    <CMP_VALROLE>134800</CMP_VALROLE>
    <CMP_PVRESECART>0</CMP_PVRESECART>
    <CMP_PVRHAB>147180</CMP_PVRHAB>
    <CMP_UTILISE>1</CMP_UTILISE>
    <CMP_TVM>1</CMP_TVM>
    <CMP_PVA>172000</CMP_PVA>
    </ROW>
    </ROWSET>
    PARITOP_COMPARABLE TABLE :
    RST_ID NUMBER(10) NOT NULL,
    VEN_ID NUMBER(10) NOT NULL,
    CMP_SELMAN NUMBER(1) NOT NULL,
    CMP_UTILISE NUMBER(1) NOT NULL,
    CMP_INDICESELECTION FLOAT(53) NOT NULL,
    CMP_PVRES FLOAT(53) NULL,
    CMP_PVAJUSTE FLOAT(53) NULL,
    CMP_PVRHAB FLOAT(53) NULL,
    CMP_TVM FLOAT(53) NULL
    ROCEDURE PARITOP_INSERTXML (xmlDoc IN clob, tableName IN VARCHAR2)
    AS
    insCtx DBMS_XMLSave.ctxType;
    rowss number;
    BEGIN
    --permet d'insérer les champs du XML dans la table passée en paramètre.
    --il suffit que les champs XML aient le même nom que les champs de la table
    BEGIN
    insCtx := DBMS_XMLSave.newContext(tableName); -- get context handle
    DBMS_XMLSAVE.SETDATEFORMAT( insCtx, 'yyyy-MM-dd HH:mm:ss');--attention, case sensitive
    DBMS_XMLSAVE.setIgnoreCase(insCtx, 1);
    rowss := DBMS_XMLSAVE.INSERTXML(insCtx , xmlDoc);
    DBMS_XMLSave.closeContext(insCtx);
    EXCEPTION
    […]
    END;
    END;
    PROCEDURE PARITOP_ADDNODETOROW (
    XMLDOMDOC DBMS_XMLDOM.DOMDOCUMENT,
    NODE_ROW dbms_xmldom.DOMNode,
    NOM_NOEUD VARCHAR2,
    VALEUR_NOEUD VARCHAR2)
    AS
    --PERMET D'AJOUTER UN NOEUD AVEC 1 SEULE VALEUR DANS une ROW D'UN XML.
    --UTILE SURTOUT POUR LES CLÉS ÉTRANGÈRES
    domElemAInserer DBMS_XMLDOM.DOMELEMENT;
    NODE dbms_xmldom.DOMNode;
    NODE_TMP dbms_xmldom.DOMNode;
    BEGIN
    domElemAInserer := DBMS_XMLDOM.createElement(XMLDOMDOC, NOM_NOEUD) ;
    NODE := DBMS_XMLDOM.MAKENODE(domElemAInserer); --cast
    NODE := DBMS_XMLDOM.APPENDCHILD(NODE_ROW,NODE);
    NODE_TMP := DBMS_XMLDOM.MAKENODE(DBMS_XMLDOM.CREATETEXTNODE(XMLDOMDOC, VALEUR_NOEUD ) );
    NODE := DBMS_XMLDOM.APPENDCHILD(NODE,NODE_TMP );
    END;

    Hi Everybody!
    I'm working with Oracle 9.2.0.5 on Microsoft Windows Server 2003 Enterprise Edition.
    The server (a test server) is a Pentium 4 2.8 GHz, 1GB of RAM.
    I use a procedure called PARITOP_TRAITERXMLRESULTMASSE to insert the data contained in the pXMLDOC clob parameter in the table pTABLENAME. (You can see the format of the XML document below). The first step on this procedure is to verify that the XML document is not empty. If not, the procedure needs to add a node in the document, in every <ROW> tag. This added node is named “RST_ID”. It’s the foreign key of each record. I can retrieve the value of each <RST_ID> node in an other table in which the data has been previously added (by the calling procedure). When each of the <ROW> elements has been treated, the PARITOP_INSERTXML procedure is called. This procedure uses DBMS_XMLSAVE.INSERTXML to insert the data contained in the XML document in the specified table.
    (Below, you can see the code of my procedures.)
    With this information, can you tell me why this treatment is very very very slow with a large XML document and how I can improve it?
    Thank you for your help!
    Anne-Marie
    CREATE OR REPLACE PROCEDURE "PARITOP_TRAITERXMLRESULTMASSE" (
    pPRC_ID IN PARITOP_PARC.PRC_ID%TYPE,
    pRST_MONDE IN PARITOP_RESULTAT.RST_MONDE%TYPE,
    pXMLDOC IN CLOB,
    pTABLENAME IN VARCHAR2)
    AS
    Objectif :Insérer le contenu du XML passé en paramètre (pXMLDOC) à la table passée en paramètre (pTABLENAME)
    La table passée en paramètre doit être une table ayant comme clé étrangère le champs "RST_ID" .
    (Le noeud RST_ID est donc ajouté à tous les document XML. Ce rst_id est
    déterminé à partir de la table PARITOP_RESULTAT grâce à pPRC_ID et
    pRstMonde fournis en paramètre)
    result_doc CLOB;
    XMLDOMDOC XDB.DBMS_XMLDOM.DOMDOCUMENT;
    NODE_ROWSET DBMS_XMLDOM.DOMNODE;
    NODE_ROW DBMS_XMLDOM.DOMNODE;
    vUE_ID PARITOP_RESULTAT.UE_ID%TYPE;
    vRST_ID PARITOP_RESULTAT.RST_ID%TYPE;
    nodeList DBMS_XMLDOM.DOMNODELIST;
    BEGIN
    BEGIN
    vUE_ID := 0;
    vRST_ID := 0;
    XMLDOMDOC := DBMS_XMLDOM.NEWDOMDOCUMENT(pXMLDOC);
    IF NOT GESTXML_PKG.FN_PARITOP_DOCUMENT_IS_NULL(XMLDOMDOC) THEN
    NODE_ROWSET := DBMS_XMLDOM.item(DBMS_XMLDOM.GETCHILDNODES (DBMS_XMLDOM.MAKENODE(XMLDOMDOC)),0);
    for i in 0..dbms_xmldom.getLength(DBMS_XMLDOM.getchildnodes(NODE_ROWSET))-1 loop
    NODE_ROW := DBMS_XMLDOM.ITEM(DBMS_XMLDOM.GETCHILDNODES(NODE_ROWSET), i) ;
    nodeList := DBMS_XMLDOM.GETELEMENTSBYTAGNAME(DBMS_XMLDOM.makeelement(NODE_ROW) , 'UE_ID');
    IF vUE_ID <> DBMS_XMLDOM.GETNODEVALUE(DBMS_XMLDOM.GETFIRSTCHILD(DBMS_XMLDOM.ITEM(nodeList, 0))) THEN
    vUE_ID := DBMS_XMLDOM.GETNODEVALUE(DBMS_XMLDOM.GETFIRSTCHILD(DBMS_XMLDOM.ITEM(nodeList, 0)));
    --on ramasse le rst_id
    SELECT RST_ID INTO vRST_ID
    FROM PARITOP_RESULTAT RST
    WHERE RST.PRC_ID = pPRC_ID
    AND RST.UE_ID = vUE_ID
    AND RST.RST_MONDE = pRST_MONDE
    AND RST_A_SUPPRIMER = 0;
    END IF;
    GESTXML_PKG.PARITOP_ADDNODETOROW(XMLDOMDOC, NODE_ROW, 'RST_ID', vRST_ID);
    end loop;
    RESULT_DOC := ' '; --à garder, pour ne pas que ca fasse d'erreur lors du WriteToClob.
    dbms_xmldom.writeToClob(DBMS_XMLDOM.MAKENODE(XMLDOMDOC), RESULT_DOC);
    --Insertion du document XML dans la table "tableName"
    GESTXML_PKG.PARITOP_INSERTXML(RESULT_DOC, pTABLENAME);
    DBMS_XMLDOM.FREEDOCUMENT( XMLDOMDOC);
    end if;
    EXCEPTION
    […exception treatement…]
    END;
    END;
    The format of a XML clob is :
    <ROWSET>
    <ROW>
    <PRC_ID>193</PRC_ID>
    <UE_ID>8781</UE_ID>
    <VEN_ID>6223</VEN_ID>
    <RST_MONDE>0</RST_MONDE>
    <CMP_SELMAN>0</CMP_SELMAN>
    <CMP_INDICESELECTION>92.307692307692307</CMP_INDICESELECTION>
    <CMP_PVRES>94900</CMP_PVRES>
    <CMP_PVAJUSTE>72678.017699115066</CMP_PVAJUSTE>
    <CMP_PVAJUSTEMIN>72678.017699115095</CMP_PVAJUSTEMIN>
    <CMP_PVAJUSTEMAX>72678.017699115037</CMP_PVAJUSTEMAX>
    <CMP_PV>148000</CMP_PV>
    <CMP_VALROLE>129400</CMP_VALROLE>
    <CMP_PVRESECART>4790</CMP_PVRESECART>
    <CMP_PVRHAB>101778.01769911509</CMP_PVRHAB>
    <CMP_UTILISE>1</CMP_UTILISE>
    <CMP_TVM>1</CMP_TVM>
    <CMP_PVA>148000</CMP_PVA>
    </ROW>
    <ROW>
    <PRC_ID>193</PRC_ID>
    <UE_ID>8781</UE_ID>
    <VEN_ID>6235</VEN_ID>
    <RST_MONDE>0</RST_MONDE>
    <CMP_SELMAN>0</CMP_SELMAN>
    <CMP_INDICESELECTION>76.92307692307692</CMP_INDICESELECTION>
    <CMP_PVRES>117800</CMP_PVRES>
    <CMP_PVAJUSTE>118080</CMP_PVAJUSTE>
    <CMP_PVAJUSTEMIN>118080</CMP_PVAJUSTEMIN>
    <CMP_PVAJUSTEMAX>118080</CMP_PVAJUSTEMAX>
    <CMP_PV>172000</CMP_PV>
    <CMP_VALROLE>134800</CMP_VALROLE>
    <CMP_PVRESECART>0</CMP_PVRESECART>
    <CMP_PVRHAB>147180</CMP_PVRHAB>
    <CMP_UTILISE>1</CMP_UTILISE>
    <CMP_TVM>1</CMP_TVM>
    <CMP_PVA>172000</CMP_PVA>
    </ROW>
    </ROWSET>
    PARITOP_COMPARABLE TABLE :
    RST_ID NUMBER(10) NOT NULL,
    VEN_ID NUMBER(10) NOT NULL,
    CMP_SELMAN NUMBER(1) NOT NULL,
    CMP_UTILISE NUMBER(1) NOT NULL,
    CMP_INDICESELECTION FLOAT(53) NOT NULL,
    CMP_PVRES FLOAT(53) NULL,
    CMP_PVAJUSTE FLOAT(53) NULL,
    CMP_PVRHAB FLOAT(53) NULL,
    CMP_TVM FLOAT(53) NULL
    ROCEDURE PARITOP_INSERTXML (xmlDoc IN clob, tableName IN VARCHAR2)
    AS
    insCtx DBMS_XMLSave.ctxType;
    rowss number;
    BEGIN
    --permet d'insérer les champs du XML dans la table passée en paramètre.
    --il suffit que les champs XML aient le même nom que les champs de la table
    BEGIN
    insCtx := DBMS_XMLSave.newContext(tableName); -- get context handle
    DBMS_XMLSAVE.SETDATEFORMAT( insCtx, 'yyyy-MM-dd HH:mm:ss');--attention, case sensitive
    DBMS_XMLSAVE.setIgnoreCase(insCtx, 1);
    rowss := DBMS_XMLSAVE.INSERTXML(insCtx , xmlDoc);
    DBMS_XMLSave.closeContext(insCtx);
    EXCEPTION
    […]
    END;
    END;
    PROCEDURE PARITOP_ADDNODETOROW (
    XMLDOMDOC DBMS_XMLDOM.DOMDOCUMENT,
    NODE_ROW dbms_xmldom.DOMNode,
    NOM_NOEUD VARCHAR2,
    VALEUR_NOEUD VARCHAR2)
    AS
    --PERMET D'AJOUTER UN NOEUD AVEC 1 SEULE VALEUR DANS une ROW D'UN XML.
    --UTILE SURTOUT POUR LES CLÉS ÉTRANGÈRES
    domElemAInserer DBMS_XMLDOM.DOMELEMENT;
    NODE dbms_xmldom.DOMNode;
    NODE_TMP dbms_xmldom.DOMNode;
    BEGIN
    domElemAInserer := DBMS_XMLDOM.createElement(XMLDOMDOC, NOM_NOEUD) ;
    NODE := DBMS_XMLDOM.MAKENODE(domElemAInserer); --cast
    NODE := DBMS_XMLDOM.APPENDCHILD(NODE_ROW,NODE);
    NODE_TMP := DBMS_XMLDOM.MAKENODE(DBMS_XMLDOM.CREATETEXTNODE(XMLDOMDOC, VALEUR_NOEUD ) );
    NODE := DBMS_XMLDOM.APPENDCHILD(NODE,NODE_TMP );
    END;

  • Populating Spry Table using button action and Nested XML

    Ah, yet another question.
    So I have a catalog page with a Spry repeating table. The XML
    has 2 sets of nodes -- one for outfits and one for line sheets (the
    technical drawings for clothes). What i want to do is have the
    outfits show and populate the table to start off with, but
    re-populate with the line sheet info if a user clicks on a button.
    currently the page is set up and works perfectly by sucking
    in the XML and populating the table. What I can't seem to do is get
    the button (when clicked) to switch the outfit info with the line
    sheet info.
    I have the following
    // javascript:
    var siracusafall08 = new
    Spry.Data.XMLDataSet("fall_collection.xml",
    "collection/siracusa/outfits", { filterFunc: MyPagingFunc });
    var siracusaLS = new
    Spry.Data.NestedXMLDataSet(siracusafall08, "linesheet",
    {filterFunc:MyPagingFunc });
    siracusafall08.setColumnType("photoURL", "image");
    siracusafall08.setColumnType("lrgphoto", "image");
    var pageOffset = 0;
    var pageSize = 1;
    var pageStop = pageOffset + pageSize;
    //var dssiracusafall08 = new
    Spry.Data.XMLDataSet("fall_collection.xml", "collection/outfits", {
    filterFunc: MyPagingFunc });
    function MyPagingFunc(ds, row, rowNumber)
    if (rowNumber < pageOffset || rowNumber >= pageStop)
    return null;
    return row;
    function chooseLS()
    // no idea what to put here...
    function UpdatePage(offset)
    var numRows = siracusafall08.getUnfilteredData().length;
    if (offset > (numRows - pageSize))
    offset = numRows - pageSize;
    if (offset < 0)
    offset = 0;
    pageOffset = offset;
    pageStop = offset + pageSize;
    // Re-apply our non-destructive filter on dsStates1:
    siracusafall08.filter(MyPagingFunc);
    html
    <div spry:region="siracusafall08">
    <table>
    <tr spry:repeatchildren="siracusafall08">
    <td valign="top">{name}<br />{desc}</td>
    <td rowspan="8" valign="top" width="300"><img
    src="imx/{photoURL}"/></td>
    </tr>
    <tr spry:repeatchildren="siracusafall08">
    <td valign="top">{SKU1}<br />{SKU2}<br
    />{SKU3}</td>
    </tr>
    <tr spry:repeatchildren="siracusafall08">
    <td valign="top"><a href="imx/{lrgphoto}"
    target="_blank">enlarge</a></td>
    </tr>
    <tr spry:repeatchildren="siracusafall08">
    <td valign="top"><input type="image"
    src="../../imx/back.gif" onclick="UpdatePage(pageOffset -
    pageSize);" />
    <input type="image" src="../../imx/next.gif"
    onclick="UpdatePage(pageOffset + pageSize);" /><br
    /><br /><input type="button" value="filter"
    onclick="chooseLS();" /></td>
    </tr>
    <tr>
    <td height="200"> </td>
    </tr>
    </table>
    </div>
    XML
    <collection>
    <siracusa>
    <outfits>
    <photoURL>6648sm.jpg</photoURL>
    <lrgphoto>6648lg.jpg</lrgphoto>
    <SKU1>JS271SM</SKU1>
    <SKU2>PN109SM</SKU2>
    <SKU3></SKU3>
    <name>Siracusa Micro Crepe</name>
    <desc>Chestnut, Moss, Redwood, Black</desc>
    </outfits>
    <outfits>
    <photoURL>5237sm.jpg</photoURL>
    <lrgphoto>5237lg.jpg</lrgphoto>
    <SKU1>JS272SM</SKU1>
    <SKU2>LTK121SM</SKU2>
    <SKU3>PW112SM</SKU3>
    <name>Siracusa Micro Crepe</name>
    <desc>Chestnut, Moss, Redwood, Black</desc>
    </outfits>
    <outfits>
    <photoURL>5540sm.jpg</photoURL>
    <lrgphoto>5540lg.jpg</lrgphoto>
    <SKU1>JS272SM</SKU1>
    <SKU2>LTK121SM</SKU2>
    <SKU3>PW112SM</SKU3>
    <name>Siracusa Micro Crepe</name>
    <desc>Chestnut, Moss, Redwood, Black</desc>
    </outfits>
    <outfits>
    <photoURL>6276sm.jpg</photoURL>
    <lrgphoto>6276lg.jpg</lrgphoto>
    <SKU1>JL258SM</SKU1>
    <SKU2>PN100SM</SKU2>
    <SKU3></SKU3>
    <name>Siracusa Micro Crepe</name>
    <desc>Chestnut, Moss, Redwood, Black</desc>
    </outfits>
    <linesheet>
    <photoURL>5540sm.jpg</photoURL>
    <lrgphoto>5540lg.jpg</lrgphoto>
    <SKU1>JS128SM</SKU1>
    <SKU2>Mandarin collar jacket with box pleat
    cuff</SKU2>
    <SKU3>XS-XL</SKU3>
    <name>Siracusa Micro Crepe</name>
    <desc>Chestnut, Moss, Redwood, Black</desc>
    </linesheet>
    </siracusa>
    </collection>
    There's nothing in the documentation about using a button to
    repopulate a table. the Nested XML Data Sample page in the Spry
    documentation has been helpful in the past however this is more of
    a switch / toggle situation and frankly that kind of coding is a
    bit beyond my fine arts-trained skills.
    Any suggestions are greatly appreciated!

    Hi Bit Crusher,
    Sorry for the delayed response ...
    Looking at your setup, you can get rid of most of the code in
    collection.js since you are using a pageSize of 1 ... if displaying
    only one row of a data set is all you ever need, then you can get
    the equivalent functionality by just using a spry:detailregion and
    a couple of prev()/next() functions. For example:
    <script type="text/javascript">
    var siracusafall08 = new
    Spry.Data.XMLDataSet("fall_collection.xml",
    "collection/siracusa/outfits");
    siracusafall08.setColumnType("photoURL", "image");
    siracusafall08.setColumnType("lrgphoto", "image");
    var crepesfall08 = new
    Spry.Data.XMLDataSet("fall_collection.xml",
    "collection/crepes/outfits");
    crepesfall08.setColumnType("photoURL", "image");
    crepesfall08.setColumnType("lrgphoto", "image");
    function DSPrev(ds)
    var curRowNum = ds.getCurrentRowNumber();
    if (--curRowNum >= 0)
    ds.setCurrentRowNumber(curRowNum);
    function DSNext(ds)
    var curRowNum = ds.getCurrentRowNumber();
    if (++curRowNum < ds.getRowCount())
    ds.setCurrentRowNumber(curRowNum);
    </script>
    <div spry:detailregion="siracusafall08">
    </div>
    <div spry:detailregion="crepesfall08">
    </div>
    After you've simplified all that, the next thing I would do
    to get your linesheet switching working is to use "states". Take a
    look at these samples:
    http://labs.adobe.com/technologies/spry/samples/data_region/RegionStatesSample.html
    http://labs.adobe.com/technologies/spry/samples/data_region/StateMappingSample.html
    The first link is some basic background on states, but what
    should be of interest to you is the 2nd sample. What I would do is
    have a "styles" and a "linesheet" state in my region.
    Also since you are using nested XML data, you will need to
    access your <linesheet> data with a NestedXMLDataSet:
    http://labs.adobe.com/technologies/spry/samples/data_region/NestedXMLDataSample.html#Using NestedDataSets
    http://labs.adobe.com/technologies/spry/samples/data_region/NestedDataSample.html
    --== Kin ==--

  • How to insert data into a table from an xml document

    using the XmlSql Utility, how do I insert data into a table from an xml document, using the sqlplus prompt.
    if i use the xmlgen.insertXML(....)
    requires a CLOB file, which i dont have, only the xml doc.
    Cant i insert directly from the doc to the table?
    the xmlgen examples I have seen first convert a table to a CLOB xmlString and then insert it into another table.
    Isnt there any other way?

    Your question is little perplexing.
    If you're using XML SQL Utility from
    the commandline, just use putXML.
    java OracleXML putXML
    null

  • XML PARASE and insert /update in corresponding tables

    Hi,
    I have a XML in which master details tables 3 tables.I want to separate element and insert/update in corresponding tables dynamically.
    Table invlovled in A,B,C
    Thanks
    Reena

    Reena
    The easiest way to do this is along the following lines..
    (1) register an XML Schema that describes the XML you wish to process with theh database.
    (2). create a relational view for the top level elements and for each repeating element (element where maxOccurs > 1 in the XML Schema)
    (3) Use 'insert as select' or other SQL type processing to update your relational tables from the contents of the view
    It is normally recommended that you add the following annotations to the XML Schema before registering it with the database
    (1) At the schema level set xdb:storeVarrayAsTable="true".
    (2) At the complexType level set xdb:maintainDOM="fasle".
    If you search the forum you will find a lot of examples of creating relational views of XML content stored in the XML database. Typically these examples will include key words like 'create or replace view' and 'table(xmlsequence(extract' or 'xmltable'.
    Hope this helps...
    -Mark

  • Insert data into oracle table from XML file

    I need to insert data into oracle table from XML file
    If anybody handled this type of scenario, Please let me know how to insert data into oracle table from XML file
    Thanks in advance

    The XML DB forum provides the best support for XML topics related to Oracle.
    Here's the FAQ on that forum:
    XML DB FAQ
    where there are plenty of examples of shredding XML into Oracle tables and such like. ;)

  • Producing nested xml with querying attributes from a nested table

    How can one produce nested xml querying columns from a nested table? Looking at the object documentation, I can readily unnest the tables. Using your examples in the book, unnesting is select po.pono, ..., l.* from purchaseorder_objtab po, table (po.lineitemlist_ntab) l where l.quantity = 2;
    what if I don't want to unnest and don't want a cursor. I would like to produce nested xml.

    Gail,
    Although you can use XSU (XML-SQL Util) in 8.1.7, I would recommend that you upgrade to 9i for much better support (both in functionality and performance) of XML in the database. For example, in Oracle9i there are:
    - a new datatype - XMLType for storing and retrieving XML documents
    - DBMS_XMLGEN package and SYS_XMLGEN, SYS_XMLAGG functions for generating XML document from complex SQL queries
    - A pipelined table function to break down large XML documents into rows.
    You can check out some examples using SYS_XMLGEN and DBMS_XMLGEN for your specific needs at http://download-west.oracle.com/otndoc/oracle9i/901_doc/appdev.901/a88894/adx05xml.htm#1017141
    Regards,
    Geoff

  • Error while inserting XMLType document into table

    Dear sir,
    I have created a table in oracle 9i.The description is as follows:
    Name Null? Type
    ID NUMBER
    XML_DOCUMENT SYS.XMLTYPE(XMLSchema "http:
    //localhost:8080/home/SCOTT/
    xsd/message.xsd" Element "me
    ssage") STORAGE Object-relat
    ional TYPE "MESSAGE_TYPE"
    Later I tried to insert values into this table using the following statement:
    1 insert into test1(ID,XML_DOCUMENT)
    2 VALUES
    3 (100,
    4 xmltype
    5 (
    6 bfilename('xmldir','message1.xml'),
    7 nls_charset_id('AL32UTF8')
    8 )
    9* )
    I get the following error:
    ERROR at line 4:
    ORA-06553: PLS-306: wrong number or types of arguments in call to 'XMLTYPE'.
    I have no idea of what to do now.Can someone please tell me how to proceed.
    Reference:(this is for the insert command statement)
    http://download-west.oracle.com/docs/cd/B14117_01/appdev.101/b10790/xdb04cre.htm#BABDCAFB
    Thanking you in advance,
    Sincerely,
    Sirisha.

    Yes, but bear in mind that Text searching is not truely XML aware...
    Also, a single 65M document is probably not a single docuemnt, it's probably a collection of smaller documents that have been colllected together into a single document. It may make more sense to split this into it's seperate components before loading it into the database...
    The typcical signature of document of this nature is
    <ROOT>
    <ELEMENT>
    </ELEMENT>
    <ELEMENT>
    </ELEMENT>
    <ELEMENT>
    </ELEMENT>
    </ROOT>

  • Database data to nested xml structure

    Hi All,
    I need to convert the data in the oracle database to nested xml tree structure as below:
    Data in the database is in the following structure:
    1     branch1     13-JAN-11     a.txt
    1     branch1     25-JAN-11     b.txt
    1     branch1     25-JAN-11     c.txt
    1     branch2     20-JAN-11     d.txt
    2
    XML for the above data should be in the format:
    <Root>
    <Account_no value="1">
    <Desc value="branch1">
    <Date value="13-JAN-11">
    <Name value="a.txt"/>
    </Date>
    <Date value="25-JAN-11">
    <Name value="b.txt"/>
    <Name value="c.txt"/>
    </Date>
    </Desc>
    <Desc value="branch2">
    <Date value="20-JAN-11">
    <Name value="d.txt"/>
    </Date>
    </Desc>
    </Account_no>
    <Account_no value="2">
    </Account_no>
    </Root>
    I am able to get this kind of xml structure using java after storing the database data in a n-ary tree. But it takes more time to execute.
    Can this kind of same xml format be achieved using pl/sql programming?
    Please help me with your valuable insights.
    Thanks,
    Alagappan

    Hi,
    Please always mention your db version (select * from v$version).
    Here's one solution using SQL/XML functions :
    Sample data used :
    create table sample_data
      account_no  number,
      description varchar2(30),
      dt          date,
      name        varchar2(30)
    insert into sample_data values(1, 'branch1', to_date('13-JAN-11','DD-MON-RR'), 'a.txt');
    insert into sample_data values(1, 'branch1', to_date('25-JAN-11','DD-MON-RR'), 'b.txt');
    insert into sample_data values(1, 'branch1', to_date('25-JAN-11','DD-MON-RR'), 'c.txt');
    insert into sample_data values(1, 'branch2', to_date('20-JAN-11','DD-MON-RR'), 'd.txt');
    insert into sample_data values(2, 'branch3', to_date('20-JAN-11','DD-MON-RR'), 'e.txt');Query :
    SELECT xmlserialize(document
             xmlelement("Root",
               xmlagg(
                 xmlelement("Account_no", xmlattributes(account_no as "value"),
                   xmlagg(
                     xmlelement("Desc", xmlattributes(description as "value"), dt)
                     order by description
                 ) order by account_no
           as clob indent ) doc
    FROM (
      SELECT account_no, description,
             xmlagg(
               xmlelement("Date", xmlattributes(to_char(dt,'DD-MON-RR') as "value"), name)
               order by dt
             ) dt
      FROM (
        SELECT account_no, description, dt,
               xmlagg(
                 xmlelement("Name", xmlattributes(name as "value"))
                 order by name
               ) name
        FROM sample_data
        GROUP BY account_no, description, dt
      GROUP BY account_no, description
    GROUP BY account_no
    DOC
    <Root>
      <Account_no value="1">
        <Desc value="branch1">
          <Date value="13-JAN-11">
            <Name value="a.txt"/>
          </Date>
          <Date value="25-JAN-11">
            <Name value="b.txt"/>
            <Name value="c.txt"/>
          </Date>
        </Desc>
        <Desc value="branch2">
          <Date value="20-JAN-11">
            <Name value="d.txt"/>
          </Date>
        </Desc>
      </Account_no>
      <Account_no value="2">
        <Desc value="branch3">
          <Date value="20-JAN-11">
            <Name value="e.txt"/>
          </Date>
        </Desc>
      </Account_no>
    </Root>
    Here, I used XMLSerialize function with indent option to format the output (available starting with 11g).

  • SQL Server 2012 Management Studio: Creating a Database and a dbo Table. Inserting VALUES into the table. How to insert 8 Values for future use in XQuery?

    Hi all,
    In my SQL Server 2012 Management Studio (SSMS2012), I tried to create a Database (MacLochainnsDB) and a dbo Table (marvel). then I wanted insert 8 VALUES into the Table by using the following code:
    USE master
    IF EXISTS
    (SELECT 1
    FROM sys.databases
    WHERE name = 'MacLochlainnsDB')
    DROP DATABASE MacLochlainnsDB
    GO
    CREATE DATABASE MacLochlainnsDB
    GO
    CREATE TABLE [dbo].[marvel] (
    [avenger_name] [char] (30) NULL)
    INSERT INTO marvel
    (avenger_name)
    VALUES
    ('Hulk', 1),
    ('Iron Man', 2),
    ('Black Widow', 3),
    ('Thor', 4),
    ('Captain America', 5),
    ('Hawkeye', 6),
    ('Winter Soldier', 7),
    ('Iron Patriot', 8)
    I got the following error Message:
    Msg 110, Level 15, State 1, Line 5
    There are fewer columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.
    How can I correct this problem?
    Please kindly help and advise.
    Thanks in advance,
    Scott Chang
    P. S.
    The reason I tried to create the Database, dbo Table, and then to insert the VALUES is to learn the following thing:
    You can query the entire node tree with the following xquery statement because it looks for the occurrence of any node with the /* search string:
    DECLARE @x xml;
    SET @x = N'<marvel>
    <avenger_name>Captain America</avenger_name>
    </marvel>';
    SELECT @x.query('/*');
    You can query the avenger_name elements from the marvel_xml table with the following syntax:
    SELECT xml_table.query('/marvel/avenger_name')
    FROM marvel_xml;
    It returns the following set of avenger_name elements:
    <avenger_name>Hulk</avenger_name>
    <avenger_name>Iron Man</avenger_name>
    <avenger_name>Black Widow</avenger_name>
    <avenger_name>Thor</avenger_name>
    <avenger_name>Captain America</avenger_name>
    <avenger_name>Hawkeye</avenger_name>
    <avenger_name>Winter Soldier</avenger_name>
    <avenger_name>Iron Patriot</avenger_name>
    You can query the fourth avenger_name element from the marvel_xml table with the following xquery statement:
    SELECT xml_table.query('/marvel[4]/avenger_name')
    FROM marvel_xml;
    It returns the following avenger_name element:
    <avenger_name>Thor</avenger_name>

    Hi Scott,
    The master database records all the system-level information for a SQL Server system, so best practise would be not to create any user-defined
    object within it.
    To change your default database(master by default) of your login to another, follow the next steps so that next time when connected you don't have to use "USE dbname" to switch database.
    Open SQL Server Management Studio
    --> Go to Object explorer(the left panel by default layout)
    --> Extend "Security"
    --> Extend "Logins"
    --> Right click on your login, click "propertites"
    --> Choose the "Default database" at the bottom of the pop-up window.
    --or simply by T-SQL
    Exec sp_defaultdb @loginame='yourLogin', @defdb='youDB'
    Regarding your question, you can reference the below.
    SELECT * FROM master.sys.all_objects where name ='Marvel'
    --OR
    SELECT OBJECT_ID('master.dbo.Marvel') --if non empty result returns, the object exists
    --usually the OBJECT_ID is used if a if statement as below
    IF OBJECT_ID('master.dbo.Marvel') IS NOT NULL
    PRINT ('TABLE EXISTS') --Or some other logic
    What is the sys.all_objects? See
    here.
    If you have any question, feel free to let me know.
    Eric Zhang
    TechNet Community Support

  • Generating nested XML with XSU

    Hi,
    I have been trying to generate a nested XML document with the
    XSU Utility (Rdbms 9.0.1) by setting up an nested table (see below)
    and the using the command line utiliy as:
    c:\>java OracleXML getXML -user "scott/tiger" "SELECT * from dept_type_tab
    The result is nested all right, but all texts seem to be in Hex representation:
    <?xml version = '1.0'?>
    <ROWSET>
    <ROW num="1">
    <DEPT>
    <DNAME>0x5245534541524348</DNAME>
    <EMP>
    <ENAME>0x534D495448</ENAME>
    </EMP>
    </DEPT>
    </ROW>
    Can anyone point out to me, where I went wrong? ;-(
    Thanx for any input
    Jan-Peter
    create type emp_type as object
    ename varchar2(10)
    create type dept_type as object
    dname varchar2(14),
    emp emp_type
    create view tmp_jpm2 as
    select dept_type(dept.dname,
    emp_type(emp.ename)
    ) dept
    from dept, emp WHERE (dept.deptno = emp.deptno);
    create table dept_type_tab ( dept dept_type);
    insert into dept_type_tab (dept) select dept from tmp_jpm2;

    Hi,
    I have been trying to generate a nested XML document with the
    XSU Utility (Rdbms 9.0.1) by setting up an nested table (see below)
    and the using the command line utiliy as:
    c:\>java OracleXML getXML -user "scott/tiger" "SELECT * from dept_type_tab
    The result is nested all right, but all texts seem to be in Hex representation:
    <?xml version = '1.0'?>
    <ROWSET>
    <ROW num="1">
    <DEPT>
    <DNAME>0x5245534541524348</DNAME>
    <EMP>
    <ENAME>0x534D495448</ENAME>
    </EMP>
    </DEPT>
    </ROW>
    Can anyone point out to me, where I went wrong? ;-(
    Thanx for any input
    Jan-Peter
    create type emp_type as object
    ename varchar2(10)
    create type dept_type as object
    dname varchar2(14),
    emp emp_type
    create view tmp_jpm2 as
    select dept_type(dept.dname,
    emp_type(emp.ename)
    ) dept
    from dept, emp WHERE (dept.deptno = emp.deptno);
    create table dept_type_tab ( dept dept_type);
    insert into dept_type_tab (dept) select dept from tmp_jpm2;

  • Extract nested xml attributes from plsql

    Hi, I need to extract from xml file and insert into 2 oracle tables. The xml file is using attributes and I am having trouble retrieving the nested "code" element with its attributes in context of its parent "table" element. Here is a sample of the xml I have to extract the date from:
    <?xml version="1.0" encoding="UTF-8"?>
    <dataset-cv:dataset-cv dateProduced="2011-09-19 11:50:45" xmlns:dataset-cv="http://www.myurl.com/dataset-cv/1.0.0">
    <lov>
    <table id="00000000000001000" englishName="System Role" isSystem="true" status="Enabled">
    <code id="00000000000000306" englishName="Helpdesk" code="1" status="Enabled"/>
    <code id="000000000000000307" englishName="Reviewer" code="2" status="Enabled"/>
    <code id="00000000000000308" englishName="Administrator" code="3" status="Enabled"/>
    </table>
    <table id="00000000000002000" englishName="Country" sSystem="false" status="Enabled">
    <code id="000000000000002004" englishName="AFGHANISTAN" code="4" status="Enabled"/>
    <code id="000000000000002008" englishName="ALBANIA" code="8" status="Enabled"/>
    <code id="000000000000002010" englishName="ANTARCTICA" code="10" status="Enabled"/>
    </table>
    </lov>
    </dataset-cv:dataset-cv>
    I have been trying to use a query like this but does not retrieve code attributes in context of its parent table record.
    SELECT ID, englishname, frenchname,status ,code
    FROM XMLTABLE ( 'for $i in //lov//table return $i'
    PASSING db_get_xml_from_file ('myfile.xml', 'XMLORADIR')
    COLUMNS id VARCHAR2(32) PATH '@id'
    , englishName VARCHAR2(32) PATH '@englishName'
    , frenchName VARCHAR2(32) PATH '@frenchName'
    , status VARCHAR2(6) PATH '@status'
    , code VARCHAR2(6) PATH '//code//code') ;
    Any assistance will be much appreciated
    Thanks
    Dave

    Hi Dave,
    Do you want something like this :
    SQL> SELECT x1.id
      2       , x1.englishName
      3       , x1.frenchName
      4       , x1.status
      5       , x2.*
      6  FROM XMLTable(
      7         XMLNamespaces('http://www.myurl.com/dataset-cv/1.0.0' as "dc")
      8       , '/dc:dataset-cv/lov/table'
      9         passing xmltype(bfilename('TEST_DIR','myfile.xml'),nls_charset_id('AL32UTF8'))
    10         columns
    11           id          VARCHAR2(32) path '@id'
    12         , englishName VARCHAR2(32) path '@englishName'
    13         , frenchName  VARCHAR2(32) path '@frenchName'
    14         , status      VARCHAR2(6)  path '@status'
    15         , codes       XMLType      path 'code'
    16       ) x1
    17     , XMLTable(
    18         '/code'
    19         passing x1.codes
    20         columns
    21           codeId          VARCHAR2(32) path '@id'
    22         , codeEnglishName VARCHAR2(32) path '@englishName'
    23         , codeStatus      VARCHAR2(6)  path '@status'
    24         , code            NUMBER       path '@code'
    25       ) x2
    26  ;
    ID                               ENGLISHNAME                      FRENCHNAME                       STATUS CODEID                           CODEENGLISHNAME                  CODESTATUS       CODE
    00000000000001000                System Role                                                       Enable 00000000000000306                Helpdesk                         Enable              1
    00000000000001000                System Role                                                       Enable 000000000000000307               Reviewer                         Enable              2
    00000000000001000                System Role                                                       Enable 00000000000000308                Administrator                    Enable              3
    00000000000002000                Country                                                           Enable 000000000000002004               AFGHANISTAN                      Enable              4
    00000000000002000                Country                                                           Enable 000000000000002008               ALBANIA                          Enable              8
    00000000000002000                Country                                                           Enable 000000000000002010               ANTARCTICA                       Enable             10
    6 rows selected

  • Inserting data into one table using another table

    Hi i have 2 tables
    CREATE TABLE N_SET
    N_ST_ID NUMBER(38) NOT NULL, ---- PK
    N_ST_NM VARCHAR2(50 BYTE) NOT NULL,
    N_ST_DSC VARCHAR2(200 BYTE),
    DFTID NUMBER ------ FK
    CREATE TABLE RZ
    NST_ID NUMBER(38) NOT NULL, ---- FK
    RID NUMBER(38) NOT NULL, --- PK
    RNM VARCHAR2(30 BYTE) NOT NULL
    I entered the data into the N_SET table using sequence in column N_ST_ID (using procedure)
    Now i need to enter the data into RZ table where NST_ID should contain the value of N_SET.N_ST_ID
    so for this i've written another procedure
    but confused how to write the select statement to retrieve the above condition..
    Could you help me in this please...

    Hi,
    I have a table Target whose structure is
    create table employee
    id VARCHAR2(20),
    name VARCHAR2(20),
    employee_seq NUMBER not null
    -- Create sequence
    create sequence test_seq
    minvalue 1
    maxvalue 999999999999999999999999999
    start with 5
    increment by 1
    nocache
    cycle;
    create table emp
    id VARCHAR2(20)
    name VARCHAR2(20)
    INSERT INTO emp
    ( id, name )
    VaLUES ( '100','test1');
    commit;
    INSERT INTO emp
    ( id, name )
    VaLUES ( '100','test2');
    commit;
    i have to insert into the TARGET table the fsa value from
    SOURCE table along with the sequence number using sequence test_seq.nextval.
    INSERT INTO employee
    ( id, name, employee_seq )
    SELECT id, ename, ( select test_seq.nextval from dual )
    FROM emp ;

  • Using variables to insert data in the table

    I want to insert datas in the table. I use constants,
    all the constants are stored properly in the table. But,
    when I use variables I get the error message
    "Too few parameters. expected 6".
    (I declared all the fields of the table as text only.)
    My program is "newt.jsp"
    <%@ page language="java" import="java.sql.*" %>
    <html>
    <head>
    <title>storing customer information in the database</title>
    </head>
    <body>
    <%
    String cno1 = request.getParameter("cno");
    String n1 = request.getParameter("n");
    String add11 = request.getParameter("add1");
    String add21 = request.getParameter("add2");
    String phone1 = request.getParameter("phone");
    String email1 = request.getParameter("email");
    Connection con = null;
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con = DriverManager.getConnection("jdbc:odbc:customer"," "," ");
    Statement statement1 = con.createStatement();
    Statement statement2 = con.createStatement();
    statement2.executeUpdate("create table cust1 (cno varchar(20),n varchar(20),add1 varchar(20),add2 varchar(20),phone varchar(20),email varchar(20))");
    statement1.executeUpdate("insert into cust1 (cno,n,add1,add2,phone,email) values(cno1,n1,add11,add21,phone1,email1)");
    catch(SQLException sqle) {
    System.err.println(sqle.getMessage());
    catch(ClassNotFoundException cnfe) {
    System.err.println(cnfe.getMessage());
    catch(Exception e) {
    System.err.println(e.getMessage());
    finally {
         try {
         if(con!=null) {
              con.close();
    catch(SQLException sqle) {
    System.err.println(sqle.getMessage());
    %>
    <br><br>
    Mr./Ms. <%=n1 %> <br>
    Your datas have been stored.<br>
    </body>
    </html>
    Those who know answer please reply.
    My thanks in advance.

    I would expect your insert statement to be this:
    statement1.executeUpdate("insert into cust1 (cno,n,add1,add2,phone,email) values('"+cno1+"','"+n1+"','"+add11+"','"+add21+"','"+phone1+"','"+email1+"')");
    If you just create a string, it's not going to fill in variables into the string by magic.

  • How do I import one xml file into 3 separate tables in db?

    I need to utilize xslt to import one xml file into 3 separate tables: account, accountAddress, streetAddress
    *Notice the missing values in middleName, accountType
    sample xml
    <account>
    <firstName>Joe</firstName>
    <middleName></middleName>
    <lastName>Torre</lastName>
    <accountAddress>
    <streetAddress>
    <addressLine>myAddressLine1</addressLine>
    <addressLine>myAddressLine2</addressLine>
    </streetAddress>
    <city>myCity</city>
    <state>myState</state>
    <postalCode>mypostalCode</postalCode>
    </accountAddress>
    <accountId>A001</accountId>
    <accountType></accountType>
    <account>
    I need the following 3 results in 3 separate xml files in order for me to upload into my 3 tables.
    Result #1
    <rowset>
    <row>
    <firstName>Joe</firstName>
    <lastName>Torre</lastName>
    <accountId>A001</accountId>
    <row>
    <rowset>
    Result #2
    <rowset>
    <row>
    <addressId>1</address>
    <city>myCity</city>
    <state>myState</state>
    <postalCode>myPostalCode</postalCode>
    <row>
    <rowset>
    Result #3
    <rowset>
    <row>
    <addressId>1</addressId>
    <addressLineSeq>1</addressLineSeq>
    <addressLine>myAddressLine1</addressLine>
    <row>
    <row>
    <addressId>1</addressId>
    <addressLineSeq>2</addressLineSeq>
    <addressLine>myAddressLine2</addressLine>
    <row>
    <rowset>

    Use XSU to store in multiple tables.
    "XSU can only store data in a single table. You can store XML across tables, however, by using the Oracle XSLT processor to transform a document into multiple documents and inserting them separately. You can also define views over multiple tables and perform insertions into the views. If a view is non-updatable (because of complex joins), then you can use INSTEAD OF triggers over the views to perform the inserts."
    http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b14252/adx_j_xsu.htm#i1007013

Maybe you are looking for

  • Can not add members to a Group as Group Administrator

    Hi, My collegue has created a Group 'WE_PM_group' and added me to that Group with role 'Group Administrator'. But when I connect to the 'Create Group Or Add New Members' tool, then after SSO and acknowledging the 'read and understood Beehive Online G

  • Kernal panic ?RAM problem

    I'm having problems with continual kernel panics and think it may be a RAM problem.A couple of months ago I removed the ram (2*2 and 2*4) and reseated them. After that I had no problems until now.This is the latest report, any thoughts Sun Nov 18 13:

  • Problem changing portlet state and mode programmatically

    I am trying to change state/mode of a portlet programmatically in backing file. My request is, when a portlet is changed to EDIT, I want it be maximized. Based on that, I put logic in handlePostbackData() like this, if (PortletBackingContext.getWindo

  • Reason code 34952

    hello in reports i have seen reason code 34952 but i do not see 34952 in predefined codes in ucce admin guide. this code not put in by us and does not show in registry keys. has any body seen 34952 before? we use cad 9 -aashish

  • N80 text sending time issues

    my n80 takes ages to send a text, like 5 mins, and seizes up whilst sending so i can't do anything else, is this just my phone or a common issue? it also switches itself off and on and it just a bit odd sometimes but i can live with that, just want t