SQL query to generate Nested XML

Hello,
I use Oracle 11g R2 SOE....
I have two main tables
COMMERCIALS_PROPERTIES (com_id number PK , com_size number, project_id number, com_type number)
COM_PHOTOS (ID number PK , com_id number FK, content blob, mimetype varchar2)
Please, note the following has nothing to do with my problem:
CONTENT and MIMETYPE columns. Also, the lookup tables: PROJECTS , COM_TYPE
In APEX ( Application Express ) we can expose a report as RESTful web service in XML format:
I am using this query to generate the XML 1 feed, but I need to tweak the query to generate XML 2 feed.
Is it possible, how to do it ???
Select
"COM"."COM_ID" as "COM_ID",
"COM"."COM_SIZE" as "SIZE",
"PROJECTS"."PROJECT_NAME_EN" as "PROJECT",
"COM_TYPES"."COM_TYPE" as "COM_TYPE",
'http://fam-erp.com/apex/erp/fateh/'||IMG.ID as "ImgURL"
FROM
COM_PHOTOS IMG inner join COMMERCIALS_PROPERTIES "COM"
on   IMG.COM_ID = COM.COM_ID
inner join "PROJECTS" "PROJECTS"
on "PROJECTS"."PROJECT_ID"="COM"."PROJECT_ID"
inner join "COM_TYPE_LOOKUP" "COM_TYPES"
on "COM_TYPES"."TYPE_ID"="COM"."COM_TYPE"
WHERE
  COM.COM_ID < 80 order by 1h1. XML 1
h2. Please look only at <COM_ID> and <ImgURL>
<ROWSET>
<ROW>
<COM_ID>77</COM_ID>
<SIZE>842</SIZE>
<PROJECT>Bayswater Tower</PROJECT>
<COM_TYPE>Office</COM_TYPE>
<ImgURL>http://fam-erp.com/apex/erp/fateh/1410</ImgURL>
</ROW>
<ROW>
<COM_ID>77</COM_ID>
<SIZE>842</SIZE>
<PROJECT>Bayswater Tower</PROJECT>
<COM_TYPE>Office</COM_TYPE>
<ImgURL>http://fam-erp.com/apex/erp/fateh/1412</ImgURL>
</ROW>
<ROW>
<COM_ID>78</COM_ID>
<SIZE>756</SIZE>
<PROJECT>Bayswater Tower</PROJECT>
<COM_TYPE>Office</COM_TYPE>
<ImgURL>http://fam-erp.com/apex/erp/fateh/1425</ImgURL>
</ROW>
<ROW>
<COM_ID>78</COM_ID>
<SIZE>756</SIZE>
<PROJECT>Bayswater Tower</PROJECT>
<COM_TYPE>Office</COM_TYPE>
<ImgURL>http://fam-erp.com/apex/erp/fateh/1429</ImgURL>
</ROW>
</ROWSET>---------------------------
h1. XML 2
h2. Please look only at <COM_ID> and <Images> and <ImgURL>
<ROWSET>
<ROW>
<COM_ID>77</COM_ID>
<SIZE>842</SIZE>
<PROJECT>Bayswater Tower</PROJECT>
<COM_TYPE>Office</COM_TYPE>
<Images>
      <ImgURL>http://fam-erp.com/apex/erp/fateh/1410</ImgURL>
      <ImgURL>http://fam-erp.com/apex/erp/fateh/1412</ImgURL>
</Images>
</ROW>
<ROW>
<COM_ID>78</COM_ID>
<SIZE>756</SIZE>
<PROJECT>Bayswater Tower</PROJECT>
<COM_TYPE>Office</COM_TYPE>
<Images>
        <ImgURL>http://fam-erp.com/apex/erp/fateh/1425</ImgURL>
        <ImgURL>http://fam-erp.com/apex/erp/fateh/1429</ImgURL>
</Images>
</ROW>
</ROWSET>

Hi, Fateh
One possible way is to use XML functions to create your XML.
Using XML functions you can do the IMAGES as an XMLAGG subquery rather than join to the image table.
Here's an example using SCOTT schema:
SQL> select xmlelement(
  2            "ROWSET"
  3          , xmlagg(
  4               xmlelement(
  5                  "ROW"
  6                , xmlforest(
  7                     d.deptno as "ID"
  8                   , d.dname as "NAME"
  9                   , (
10                        select xmlagg(
11                                  xmlelement(
12                                     "ImgUrl"
13                                   , 'http://the.server.com/'||e.empno
14                                  )
15                                  order by e.empno
16                               )
17                          from scott.emp e
18                         where e.deptno = d.deptno
19                     ) as "Images"
20                  )
21               )
22               order by d.deptno
23            )
24         ) the_xml
25    from scott.dept d
26    /* joins to the other tables EXCEPT image table */
27  /
THE_XML
<ROWSET><ROW><ID>10</ID><NAME>ACCOUNTING</NAME><Images><ImgUrl>http://the.serverThat output is an XMLTYPE column (think of it as a CLOB with added functionality ;-) )
My SQL*PLUS cuts the output, but believe me, it is all there.
Just to show it, here's the same example wrapped in an XMLSERIALIZE function to pretty-print the XML:
SQL> select xmlserialize(
  2            content
  3            xmlelement(
  4               "ROWSET"
  5             , xmlagg(
  6                  xmlelement(
  7                     "ROW"
  8                   , xmlforest(
  9                        d.deptno as "ID"
10                      , d.dname as "NAME"
11                      , (
12                           select xmlagg(
13                                     xmlelement(
14                                        "ImgUrl"
15                                      , 'http://the.server.com/'||e.empno
16                                     )
17                                     order by e.empno
18                                  )
19                             from scott.emp e
20                            where e.deptno = d.deptno
21                        ) as "Images"
22                     )
23                  )
24                  order by d.deptno
25               )
26            )
27            as varchar2(4000)
28            indent size=2
29         ) the_xml
30    from scott.dept d
31    /* joins to the other tables EXCEPT image table */
32  /
THE_XML
<ROWSET>
  <ROW>
    <ID>10</ID>
    <NAME>ACCOUNTING</NAME>
    <Images>
      <ImgUrl>http://the.server.com/7782</ImgUrl>
      <ImgUrl>http://the.server.com/7839</ImgUrl>
      <ImgUrl>http://the.server.com/7934</ImgUrl>
    </Images>
  </ROW>
  <ROW>
    <ID>20</ID>
    <NAME>RESEARCH</NAME>
    <Images>
      <ImgUrl>http://the.server.com/7369</ImgUrl>
      <ImgUrl>http://the.server.com/7566</ImgUrl>
      <ImgUrl>http://the.server.com/7788</ImgUrl>
      <ImgUrl>http://the.server.com/7876</ImgUrl>
      <ImgUrl>http://the.server.com/7902</ImgUrl>
    </Images>
  </ROW>
  <ROW>
    <ID>30</ID>
    <NAME>SALES</NAME>
    <Images>
      <ImgUrl>http://the.server.com/7499</ImgUrl>
      <ImgUrl>http://the.server.com/7521</ImgUrl>
      <ImgUrl>http://the.server.com/7654</ImgUrl>
      <ImgUrl>http://the.server.com/7698</ImgUrl>
      <ImgUrl>http://the.server.com/7844</ImgUrl>
      <ImgUrl>http://the.server.com/7900</ImgUrl>
    </Images>
  </ROW>
  <ROW>
    <ID>40</ID>
    <NAME>OPERATIONS</NAME>
  </ROW>
</ROWSET>For a webservice you do not need to pretty-print the XML that is returned by the webservice.
I do not know APEX, so I do not know if APEX supports exposing an allready built piece of XML rather than exposing a query result.
But my guess is that it should do it very nicely if you query an XMLTYPE datatype (that is - use the first of my examples rather than the pretty-printed one.)
If you can't get APEX to do it this way, then I suggest you try asking in the APEX forum rather than the SQL forum ;-)

Similar Messages

  • Query to generate Nested XML feed

    Hello,
    I use Oracle 11g R2 SOE....
    I have two main tables
    COMMERCIALS_PROPERTIES (com_id number PK , com_size number, project_id number, com_type number)
    COM_PHOTOS (ID number PK , com_id number FK, content blob, mimetype varchar2)
    Please, note the following has nothing to do with my problem:
    CONTENT and MIMETYPE columns. Also, the lookup tables: PROJECTS , COM_TYPE
    I Exposed a report as RESTful web service in XML format:
    I am using this query to generate the XML 1 feed, but I need to tweak the query to generate XML 2 feed.
    Is it possible, how to do it ???
    Select
    "COM"."COM_ID" as "COM_ID",
    "COM"."COM_SIZE" as "SIZE",
    "PROJECTS"."PROJECT_NAME_EN" as "PROJECT",
    "COM_TYPES"."COM_TYPE" as "COM_TYPE",
    'http://fam-erp.com/apex/erp/fateh/'||IMG.ID as "ImgURL"
    FROM
    COM_PHOTOS IMG inner join COMMERCIALS_PROPERTIES "COM"
    on   IMG.COM_ID = COM.COM_ID
    inner join "PROJECTS" "PROJECTS"
    on "PROJECTS"."PROJECT_ID"="COM"."PROJECT_ID"
    inner join "COM_TYPE_LOOKUP" "COM_TYPES"
    on "COM_TYPES"."TYPE_ID"="COM"."COM_TYPE"
    WHERE
      COM.COM_ID < 80 order by 1h1. XML 1
    h2. Please look only at <COM_ID> and <ImgURL>
    <ROWSET>
    <ROW>
    <COM_ID>77</COM_ID>
    <SIZE>842</SIZE>
    <PROJECT>Bayswater Tower</PROJECT>
    <COM_TYPE>Office</COM_TYPE>
    <ImgURL>http://fam-erp.com/apex/erp/fateh/1410</ImgURL>
    </ROW>
    <ROW>
    <COM_ID>77</COM_ID>
    <SIZE>842</SIZE>
    <PROJECT>Bayswater Tower</PROJECT>
    <COM_TYPE>Office</COM_TYPE>
    <ImgURL>http://fam-erp.com/apex/erp/fateh/1412</ImgURL>
    </ROW>
    <ROW>
    <COM_ID>78</COM_ID>
    <SIZE>756</SIZE>
    <PROJECT>Bayswater Tower</PROJECT>
    <COM_TYPE>Office</COM_TYPE>
    <ImgURL>http://fam-erp.com/apex/erp/fateh/1425</ImgURL>
    </ROW>
    <ROW>
    <COM_ID>78</COM_ID>
    <SIZE>756</SIZE>
    <PROJECT>Bayswater Tower</PROJECT>
    <COM_TYPE>Office</COM_TYPE>
    <ImgURL>http://fam-erp.com/apex/erp/fateh/1429</ImgURL>
    </ROW>
    </ROWSET>---------------------------
    h1. XML 2
    h2. Please look only at <COM_ID> and <Images> and <ImgURL>
    <ROWSET>
    <ROW>
    <COM_ID>77</COM_ID>
    <SIZE>842</SIZE>
    <PROJECT>Bayswater Tower</PROJECT>
    <COM_TYPE>Office</COM_TYPE>
    <Images>
          <ImgURL>http://fam-erp.com/apex/erp/fateh/1410</ImgURL>
          <ImgURL>http://fam-erp.com/apex/erp/fateh/1412</ImgURL>
    </Images>
    </ROW>
    <ROW>
    <COM_ID>78</COM_ID>
    <SIZE>756</SIZE>
    <PROJECT>Bayswater Tower</PROJECT>
    <COM_TYPE>Office</COM_TYPE>
    <Images>
            <ImgURL>http://fam-erp.com/apex/erp/fateh/1425</ImgURL>
            <ImgURL>http://fam-erp.com/apex/erp/fateh/1429</ImgURL>
    </Images>
    </ROW>
    </ROWSET>

    Hello,
    I see, I found another solution, but come across another problem that is the web service should get Data from more than one table. I have this procedure, and I would like to *"UNION" its* Select Statement with another Select Statement:
    declare
      v_xml clob;
      v_retval clob := '<?xml version="1.0" encoding="iso-8859-1"?>';
      v_blob blob;
    begin
    select
           xmlelement(
             "LISTINGS",
             xmlagg(
               xmlelement(
                 "LISTING",
                 xmlforest(
    'RS-'||R."RES_ID" as "Property_Ref_No",
    "UNIT_TYPE_LOOKUP"."UNIT_TYPE" as "Unit_Type",
    'Sale' as "Ad_Type",
    'Dubai' as "State",
    L.LOCATION_NAME_EN AS "Community",
    "PROJECTS"."PROJECT_NAME_EN" as "Property_Name",
    "RES_SALE"."ASKING_PRICE" as "Price",
    ' ' as "Frequency",
    ST."SUB_TYPE" as "Unit_Model",
    R."RES_SIZE" as "Unit_Builtup_Area",
    R.BEDS as "Bedrooms",
    R.bath as "No_of_Bathrooms",
    "RES_SALE"."AD_TITLE" as "Property_Title",
    RES_SALE.DESCRIPTION as "Web_Remarks",
    to_char("RES_SALE"."UPDATED_ON",'YYYY-MM-DD HH:MI:SSPM') as "Last_Updated",
    R.VIDEO as "Web_Tour",
    select xmlagg(
                                 xmlforest(
                                'http://thevillaproject.com/apex/erp/IMAGES/'||IMG.ID AS "ImageUrl"
    FROM      
          IMAGES IMG     
    WHERE IMG.RES_ID = R.RES_ID ) Images )))).getclobval()
      into      v_xml
      FROM
          "RES_SALE" "RES_SALE"
    inner join
          RES R on (R."RES_ID"="RES_SALE"."RES_ID")
    inner join
              "UNIT_STATUS_LOOKUP" on (UNIT_STATUS_LOOKUP.status_id = "RES_SALE"."RES_STATUS")
    inner join
          "PROJECTS" "PROJECTS" on ("PROJECTS"."PROJECT_ID"=R."PROJECT_ID")
    inner join
          "UNIT_TYPE_LOOKUP" "UNIT_TYPE_LOOKUP" on ("UNIT_TYPE_LOOKUP"."TYPE_ID"=R."RES_TYPE")
    inner join
          "RES_SUB_TYPE_LOOKUP" ST on (ST."SUB_TYPE_ID"=R."SUB_TYPE")
    INNER JOIN
          COMPLEX_LOOKUP CL ON (CL.COMPLEX_ID = "PROJECTS".COMPLEX_ID)
    INNER JOIN
          LOCATIONS L ON (L.LOCATION_ID = CL.LOCATION_ID)
    WHERE  "RES_SALE".RES_status IN (5,8) AND "RES_SALE".LIVE = 'Y' AND "RES_SALE".DESCRIPTION IS NOT NULL
      dbms_lob.append(v_retval,v_xml);
      OWA_UTIL.Mime_Header('text/xml'); 
      htp.p('Content-length: ' || to_char(dbms_lob.getlength(v_retval)));
      htp.p('Content-Disposition:  inline; filename="Just.xml"');
      owa_util.http_header_close;
      v_blob := wwv_flow_utilities.clob_to_blob(v_retval);
      wpg_docload.download_file(v_blob);
    end; h1. Select Statement that is needed to be "UNION-ED" with the Select Statement of the previous procedure:
    select
           xmlelement(
             "LISTINGS",
             xmlagg(
               xmlelement(
                 "LISTING",
                 xmlforest(
    'RR-'||R."RES_ID" as "Property_Ref_No",
    "UNIT_TYPE_LOOKUP"."UNIT_TYPE" as "Unit_Type",
    'Rent' as "Ad_Type",
    'Dubai' as "State",
    L.LOCATION_NAME_EN AS "Community",
    "PROJECTS"."PROJECT_NAME_EN" as "Property_Name",
    "RES_RENT"."ASKING_PRICE" as "Price",
    ' ' as "Frequency",
    ST."SUB_TYPE" as "Unit_Model",
    R."RES_SIZE" as "Unit_Builtup_Area",
    R.BEDS as "Bedrooms",
    R.bath as "No_of_Bathrooms",
    "RES_RENT"."AD_TITLE" as "Property_Title",
    "RES_RENT".DESCRIPTION as "Web_Remarks",
    to_char("RES_RENT"."UPDATED_ON",'YYYY-MM-DD HH:MI:SSPM') as "Last_Updated",
    R.VIDEO as "Web_Tour",
    select xmlagg(
                                 xmlforest(
                                'http://thevillaproject.com/apex/erp/IMAGES/'||IMG.ID AS "ImageUrl"
    FROM      
          IMAGES IMG     
    WHERE IMG.RES_ID = R.RES_ID ) Images ))))
    FROM
          "RES_RENT" "RES_RENT"
    inner join
          RES R on (R."RES_ID"="RES_RENT"."RES_ID")
    inner join
              "UNIT_STATUS_LOOKUP" on (UNIT_STATUS_LOOKUP.status_id = "RES_RENT"."RES_STATUS")
    inner join
          "PROJECTS" "PROJECTS" on ("PROJECTS"."PROJECT_ID"=R."PROJECT_ID")
    inner join
          "UNIT_TYPE_LOOKUP" "UNIT_TYPE_LOOKUP" on ("UNIT_TYPE_LOOKUP"."TYPE_ID"=R."RES_TYPE")
    inner join
          "RES_SUB_TYPE_LOOKUP" ST on (ST."SUB_TYPE_ID"=R."SUB_TYPE")
    INNER JOIN
          COMPLEX_LOOKUP CL ON (CL.COMPLEX_ID = "PROJECTS".COMPLEX_ID)
    INNER JOIN
          LOCATIONS L ON (L.LOCATION_ID = CL.LOCATION_ID)
    WHERE  "RES_RENT".RES_status IN (5,8) AND "RES_RENT".LIVE = 'Y' AND "RES_RENT".DESCRIPTION IS NOT NULL

  • Query to generate an xml output hierarchically

    Hi I need to write a sql query to generate an xml hierarchically for a tree menu. I have one self-joined table that holds menu hierarchy.
    Following is a sample data in a table.
    MenuID    MenuName       ParentID     href
    1            File
    12           Open              1     Open.jsp     
    11           New               1
    21           Program           11
    61           Program2          11    Program2.jsp
    31           Blank             21    Blank.jsp
    2            View     
    22           Printer          
    28           Printer2          22         
    30           Printer3          28    test.jsp         
    23           Doc                     Doc.jsp
    4            Tools                   Tools.jsp
    5            Win               1     Win.jspFollowing is the sample output want to generate:
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <menus>
        <menu name="File" id="1">
            <menu name="Open" id="12" href="Open.jsp"/>
            <menu name="New" id="11">
                <menu name="Program" id="21">
                    <menu name="Blank" id="31" href="Blank.jsp"/>
                </menu>
                <menu name="Program2" id="61" href="Program2.jsp"/>
            </menu>
            <menu name="Win" id="5" href="Win.jsp"/>
        </menu>
        <menu name="View" id="2">
            <menu name="Printer" id="22">
           <menu name="Printer2" id="28">
             <menu name="Printer3" id="30" href="test.jsp">
           </menu>      
         </menu>
        </menu>
        <menu name="Doc" id="3" href="Doc.jsp"/>
        <menu name="Tools" id="4" href="Tools.jsp"/>
    </menus>Thanks

    You can use SYS_CONNECT_BY_PATH to get the complete hierarchical path to an object, and then order by that. Here is an example:
    with menutbl as
    (select 1 as MenuId,'File' as MenuName, null as ParentId, null as href from dual
    union all
    select 12,'Open',1,'Open.jsp' from dual
    union all
    select 11,'New',1,null  from dual
    union all
    select 21,'Program',11,null  from dual
    union all
    select 61,'Program2',11,'Program2.jsp'  from dual
    union all
    select 31,'Blank',21,'Blank.jsp'  from dual
    union all
    select 2,'View',null,null  from dual
    union all
    select 22,'Printer',null,null  from dual
    union all
    select 28,'Printer2',22,null  from dual
    union all
    select 30,'Printer3',28,'test.jsp'  from dual   
    union all
    select 23,'Doc',null,'Doc.jsp'  from dual
    union all
    select 4,'Tools',null,'Tools.jsp'  from dual
    union all
    select 5,'Win',1,'Win.jsp'  from dual)
    select * from (
    select menutbl.*,  SYS_CONNECT_BY_PATH(MenuId, '/') as path from menutbl start with parentid is null connect by
    NOCYCLE PRIOR MenuId = ParentId) order by path;this prints
    1     File               /1
    11     New     1          /1/11
    21     Program     11          /1/11/21
    31     Blank     21     Blank.jsp     /1/11/21/31
    61     Program2     11     Program2.jsp     /1/11/61
    12     Open     1     Open.jsp     /1/12
    5     Win     1     Win.jsp     /1/5
    2     View               /2
    22     Printer               /22
    28     Printer2     22          /22/28
    30     Printer3     28     test.jsp     /22/28/30
    23     Doc          Doc.jsp     /23
    4     Tools          Tools.jsp     /4I guess that you can take over from here and add html elements around the text...
    gojko adzic
    http://gojko.net

  • Generating Nested XML Documents

    Hi,
    We want to generate nested XML documents from sql queries using pl/sql.
    If the output of the query is
    EMPNO NAME MGRNO
    1 Super Admin 0
    2 Mgr1 1
    4 SubMgr1_1 2
    5 SubMgr2_1 2
    3 Mgr2 1
    6 SubMgr1_2 3
    then XML generated should be in the format
    Super Admin
    Mgr1
    SubMgr1_1
    SubMgr2_1
    Mgr2
    SubMgr1_2
    Your early response is appreciated.
    Thanks.

    No, the id is not unique, it is part of the data. Also, I don't need to update the XML document.
    I store the data part (id, status, nodenum) in the "resp" table with a primary key as a combination of id and some other info. The table "nodes" will have a foreign key and multiple occurrences of node. Same with table "restricts" with multiple restrict.
    Do I need to create a DOM tree then store each part of the XML into appropriate tables? And how do I do that? (which APIs, etc.)
    Thanks,
    Thuvan

  • How to generate nested xml from a resultset

    there is a table which contains two field:key and fatherkey.
    like this:
    key fatherkey
    node1 root
    node2 node1
    node3 node2
    a tree can be builded from the table by recursion of key and fatherkey.
    now I want to use this table to generate a xml buffer.
    like this:
    <nodes>
    <node>
    <key>node1</key>
    <fkey>root</fkey>
    <node>
    <key>node2</key>
    <fkey>node1</fkey>
    <node>
    <key>node3</key>
    <fkey>node2</fkey>
    </node>
    </node>
    </node>
    </nodes>
    if oracle special sql --"Connect by" can be used ,it is so easy.
    but I can only use ansi sql.
    how to generate the xml?

    hehe, I solved it by JDom!
    source code is :
    public StringBuffer loadInitResource()
    Vector theOrphans = new Vector();
    StringBuffer theInitRes = new StringBuffer();
    Element root = new Element("NODES");
    String xsql = "SELECT KEY,FATHERKEY FROM TABLE1";
    ResultSete m_rs = stmt.executeQuery(xsql);
    try{
    while(m_rs.next())
    Element theNode = new Element("NODE");
    Element theFLD = new Element("ID");
    theFLD.addContent(m_rs.getString(1));
    theNode.addContent(theFLD);
    theFLD = new Element("SID");
    theFLD.addContent(m_rs.getString(2));
    theNode.addContent(theFLD);
    if("Root".equals(theNode.getChildText("SID").trim()))
    root.addContent(theNode);
    else if(x_setFatherRes(theNode, root))
    System.out.println("find");
    else
    theOrphans.addElement(theNode);
    Element theNode;
    int nIndex;
    boolean isDo = false;
    while(theOrphans.size()>0)
    System.out.println("find the orphan!");
    isDo = false;
    for(nIndex = 0;nIndex < theOrphans.size();nIndex++)
    theNode = (Element) theOrphans.get(nIndex);
    if(x_setFatherRes(theNode, root))
    theOrphans.remove(nIndex);
    isDo = true;
    System.out.println("found the orphan!");
    break;
    if(!isDo)
    System.out.println("some nodes could not be loaded!");
    break;
    //OutputStream out=new FileOutputStream("e:/XMLFile.xml");
    Document doc = new Document(root);
    XMLOutputter outputter = new XMLOutputter();
    outputter.setEncoding("GB2312");
    //outputter.output(doc,out);
    theInitRes = new StringBuffer(outputter.outputString(doc));
    catch(Exception e)
    m_error += e.toString() ;
    return theInitRes;
    private boolean x_setFatherRes(Element theSon,Element theFather)
    boolean isOK = false;
    String sFatherSID = theFather.getChildText("ID");
    if(sFatherSID != null)
    if(theSon.getChildText("SID").equals(sFatherSID.trim()))
    theFather.addContent(theSon);
    isOK = true;
    if(isOK)
    return isOK;
    Iterator iterator = theFather.getChildren().iterator();
    while(iterator.hasNext())
    Element theFather2 = (Element) iterator.next();
    isOK = x_setFatherRes(theSon,theFather2);
    if(isOK)
    break;
    return isOK;
    enjoy it!

  • Sql query to generate this output

    Hi,
    I have a table as follows;
    SET_MASTER
    ID set_id attribute_id attribute_value
    1 1 2 10
    2 1 3 20
    3 1 4 50
    4 1 5 60
    5 2 2 10
    6 2 3 30
    7 2 4 40
    8 2 5 50
    I want to generate an output as folllows;
    Attr_id Set1_attr_value Set2_attr_value min_attr_value max_attr_value
    2 10 10 10 10
    3 20 30 20 30
    4 50 40 40 50
    5 60 50 50 60
    Please provide the query to generate this output.
    Thanks.

    SQL> create table set_master (id,set_id,attribute_id,attribute_value)
      2  as
      3  select 1, 1, 2, 10 from dual union all
      4  select 2, 1, 3, 20 from dual union all
      5  select 3, 1, 4, 50 from dual union all
      6  select 4, 1, 5, 60 from dual union all
      7  select 5, 2, 2, 10 from dual union all
      8  select 6, 2, 3, 30 from dual union all
      9  select 7, 2, 4, 40 from dual union all
    10  select 8, 2, 5, 50 from dual
    11  /
    Tabel is aangemaakt.
    SQL> select attribute_id attr_id
      2       , max(decode(set_id,1,attribute_value)) set1_attr_value
      3       , max(decode(set_id,2,attribute_value)) set2_attr_value
      4       , least(max(decode(set_id,1,attribute_value)),max(decode(set_id,2,attribute_value))) min_attr_value
      5       , greatest(max(decode(set_id,1,attribute_value)),max(decode(set_id,2,attribute_value))) max_attr_value
      6    from set_master
      7   group by attribute_id
      8   order by attribute_id
      9  /
       ATTR_ID SET1_ATTR_VALUE SET2_ATTR_VALUE MIN_ATTR_VALUE MAX_ATTR_VALUE
             2              10              10             10             10
             3              20              30             20             30
             4              50              40             40             50
             5              60              50             50             60
    4 rijen zijn geselecteerd.Regards,
    Rob.

  • Need generic dynamic sql query to generate nodes depending on dealer levels

    Input table:
    create table #test(dealerid integer ,dealerlvl integer)
    insert into #test values(1,1)
    insert into #test values(1,2)
    insert into #test values(1,3)
    insert into #test values(1,4)
    insert into #test values(2,1)
    insert into #test values(2,2)
    insert into #test values(2,3)
    insert into #test values(2,4)
    insert into #test values(2,5)
    insert into #test values(2,6)
    go
    create table #test2(dealerid integer,node integer,prntnode integer,dealerlvl integer)
    insert into #test2 values (1,234,124,2)
    insert into #test2 values (1,123,234,1)
    insert into #test2 values (1,238,123,2)
    insert into #test2 values (1,235,238,3)
    insert into #test2 values (1,253,235,4)
    insert into #test2 values (2,21674,124,3)
    insert into #test2 values (2,1233,21674,1)
    insert into #test2 values (2,2144,1233,2)
    insert into #test2 values (2,2354,2144,3)
    insert into #test2 values (2,24353,2354,4)
    insert into #test2 values (2,245213,24353,5)
    insert into #test2 values (2,2213,245213,6)
    Expected result :
    I have two test case here with dealerID1 and dealerID 2 
    Result for DealerID1
    Result needed for DealerID2:
    the levels for dealers might change (Dealer1 has 4 levels, and Dealer 2 has 6 levels) so i need to create an dynamic sql query which lists each node as separate columns depending on the levels. 
    I have hacked the query to give the result I need 
    select a.dealerid,a.node as Lvl1,b.node as lvl2,c.node as lvl3,d.node as lvl4
    from #test2 a 
    join #test2 b on a.node=b.prntnode
    join #test2 c on b.node=c.prntnode
    join #test2 d on c.node=d.prntnode
    where a.dealerid=1 and a.dealerlvl=2
    select  a.dealerid,a.node asLvl1,
    b.node as lvl2,c.node as lvl3,d.node as lvl4,e.node as lvl5,f.node as lvl6--,a.dealerlvl,a.dealerid
    from #test2 a 
    join #test2 b on a.node=b.prntnode
    join #test2 c on b.node=c.prntnode
    join #test2 d on c.node=d.prntnode
    join #test2 e on d.node=e.prntnode
    join #test2 f on e.node=f.prntnode
    where a.dealerid=2 and a.dealerlvl=3
    I am sure there is a better way to do this with dynamic sql. please help.
    Thanks

    -- Dynamic PIVOT
     DECLARE @T AS TABLE(y INT NOT NULL PRIMARY KEY);
    DECLARE
       @cols AS NVARCHAR(MAX),
       @y    AS INT,
       @sql  AS NVARCHAR(MAX);
    -- Construct the column list for the IN clause
     SET @cols = STUFF(
       (SELECT N',' + QUOTENAME(y) AS [text()]
        FROM (SELECT DISTINCT dealerlvl AS y FROM dbo.test2) AS Y
        ORDER BY y
        FOR XML PATH('')),
       1, 1, N'');
    -- Construct the full T-SQL statement
     -- and execute dynamically
     SET @sql = N'SELECT *
     FROM (SELECT dealerid, dealerlvl, node
           FROM dbo.Test2) AS D
       PIVOT(MAX(node) FOR dealerlvl IN(' + @cols + N')) AS P;';
    EXEC sp_executesql @sql;
     GO

  • XML SQL - query the table with XML in column [urgent]

    I have table which have to be query-ied with
    oracle.xml.sql.query.OracleXMLQuery class to produce XML
    document for web.
    Problem is that in one column is already XML data (well formed
    HTML) like this:
    <font face="Arial">click</font>
    and when I call OracleXMLQuery.getXMLString() it encode all's '<'
    as ';lt' and so on.
    Can I turn off that kind of encoding some way or is it better
    sollution for this?
    thanks in advance
    Bojan
    null

    You can use an XSLT Stylesheet to achieve what you are wanting to do.
    Say the name of the column containing
    the markup is named "DOC", then
    transforming the output of OracleXMLQuery
    by the following stylesheet using
    the oracle.xml.parser.v2.XSLProcessor...
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl utput method="xml" omit-xml-declaration="yes"/>
    <xsl:template match="@*|node()">
    <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
    </xsl:template>
    <xsl:template match="DOC">
    <xsl:value-of select="." disable-output-escaping="yes"/>
    </xsl:template>
    </xsl:stylesheet>
    Will give the results you are looking for.
    You can use the XSQL Servlet to make this combination even easier if that is applicable to your situation.

  • 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;

  • Generate nested xml

    I have following tables :
    DEPT
    DEPT_ID    DEPT_NAME      GRP_NAME
    1          Engineering    Research and Development
    2          Tool Design    Research and Development
    EMP
    EMP_ID      FIRST_NAME    MIDDLE_NAME    LAST_NAME     DEPT_ID    HIRE_DATE      
    1           Roberto       Luc            Tamburello    1          1997-12-12     
    2           Rob           (null)         Walters       2          1998-01-05     
    3           Thierry       (null)         D'Hers        2          1998-01-11     
    4           Janice        B.             Galvin        2          2001-01-23     
    EMP_TEL
    EMP_ID    TEL_ID
    1         1
    1         5
    2         2
    3         3
    4         4
    TEL
    TEL_ID    AREA_CODE    PHONE_NO    EXT     TEL_TYPE_ID    
    1         111          1111111     111     1
    2         222          2222222     222     1
    3         333          3333333     333     1
    4         444          4444444     444     1
    5         555          5555555     (null)  2
    TEL_TYPE
    TEL_TYPE_ID    TEL_TYPE_CD
    1              OFFICE
    2              FAX
    3              CELLIs there a way to generate below xml in one sql statement?
    <Company>
      <Department>
        <DepartmentName>Engineering</DepartmentName>
        <GroupName>Research and Development</GroupName>
        <Employee>
          <FirstName>Roberto</FirstName>
          <MiddleName>Luc</MiddleName>
          <LastName>Tamburello</LastName>
          <HireDate>1997-12-12</HireDate>
          <Telephone>
            <TelephoneType>OFFICE</TelephoneType>
            <TelephoneNumber>111-111-1111</TelephoneNumber>
            <Extension>111</Extension>
          </Telephone>
          <Telephone>
            <TelephoneType>FAX</TelephoneType>
            <TelephoneNumber>555-555-5555</TelephoneNumber>
          </Telephone>
        </Employee>
      </Department>
      <Department>
        <DepartmentName>Tool Design</DepartmentName>
        <GroupName>Research and Development</GroupName>
        <Employee>
          <FirstName>Rob</FirstName>
          <LastName>Walters</LastName>
          <HireDate>1998-01-05</HireDate>
          <Telephone>
            <TelephoneType>OFFICE</TelephoneType>
            <TelephoneNumber>222-222-2222</TelephoneNumber>
            <Extension>222</Extension>
          </Telephone>
        </Employee>
        <Employee>
          <FirstName>Thierry</FirstName>
          <LastName>D'Hers</LastName>
          <HireDate>1998-01-11</HireDate>
          <Telephone>
            <TelephoneType>OFFICE</TelephoneType>
            <TelephoneNumber>333-333-3333</TelephoneNumber>
            <Extension>333</Extension>
          </Telephone>
        </Employee>
        <Employee>
          <FirstName>Janice</FirstName>
          <MiddleName>B.</MiddleName>
          <LastName>Galvin</LastName>
          <HireDate>2001-01-23</HireDate>
          <Telephone>
            <TelephoneType>OFFICE</TelephoneType>
            <TelephoneNumber>444-444-4444</TelephoneNumber>
            <Extension>444</Extension>
          </Telephone>
        </Employee>
      </Department>
    </Company>

    Is there a way to generate below xml in one sql statement?yes, this way:
    SQL> select xmlelement("Company",
      2               xmlagg(
      3                  xmlelement("Department",
      4                             xmlforest(dept_name as "DepartmentName",
      5                                       grp_name as "GroupName"
      6                                       ),
      7                             (select xmlagg(
      8                                         xmlelement("Employee",
      9                                                    xmlforest(FIRST_NAME as "FirstName",
    10                                                              MIDDLE_NAME as "MiddleName",
    11                                                              LAST_NAME as "LastName",
    12                                                              to_char(HIRE_DATE,'yyyy-mm-dd') as "HireDate"
    13                                                              ),
    14                                                    (Select xmlagg(
    15                                                              xmlelement("Telephone",
    16                                                                         xmlforest(TEL_TYPE_CD as "TelephoneType",
    17                                                                                   AREA_CODE||'-'||PHONE_NO as "TelephoneNumber",
    18                                                                                   EXT as "Extension"
    19                                                                                   )
    20                                                                         )
    21                                                                   )
    22                                                        from TEL t, TEL_TYPE tt, EMP_TEL et
    23                                                       where t.TEL_TYPE_ID=tt.TEL_TYPE_ID
    24                                                         and et.EMP_ID = e.EMP_ID
    25                                                         and et.TEL_ID = t.TEL_ID
    26                                                    )
    27                                                   )
    28                                              )
    29                                from emp e
    30                               where e.DEPT_ID=d.DEPT_ID
    31                              )
    32                             )
    33                      )
    34                    ).extract('/*') doc
    35    from DEPT d;
    DOC
    <Company>
      <Department>
        <DepartmentName>Engineering</DepartmentName>
        <GroupName>Research and Development</GroupName>
        <Employee>
          <FirstName>Roberto</FirstName>
          <MiddleName>Luc</MiddleName>
          <LastName>Tamburello</LastName>
          <HireDate>1997-12-12</HireDate>
          <Telephone>
            <TelephoneType>OFFICE</TelephoneType>
            <TelephoneNumber>111-1111111</TelephoneNumber>
            <Extension>111</Extension>
          </Telephone>
          <Telephone>
            <TelephoneType>FAX</TelephoneType>
            <TelephoneNumber>555-5555555</TelephoneNumber>
          </Telephone>
        </Employee>
      </Department>
      <Department>
        <DepartmentName>Tool Design</DepartmentName>
        <GroupName>Research and Development</GroupName>
        <Employee>
          <FirstName>Rob</FirstName>
          <LastName>Walters</LastName>
          <HireDate>1998-01-05</HireDate>
          <Telephone>
            <TelephoneType>OFFICE</TelephoneType>
            <TelephoneNumber>222-2222222</TelephoneNumber>
            <Extension>222</Extension>
          </Telephone>
        </Employee>
        <Employee>
          <FirstName>Thierry</FirstName>
          <LastName>D&apos;Hers</LastName>
          <HireDate>1998-01-11</HireDate>
          <Telephone>
            <TelephoneType>OFFICE</TelephoneType>
            <TelephoneNumber>333-3333333</TelephoneNumber>
            <Extension>333</Extension>
          </Telephone>
        </Employee>
        <Employee>
          <FirstName>Janice</FirstName>
          <MiddleName>B.</MiddleName>
          <LastName>Galvin</LastName>
          <HireDate>2001-01-23</HireDate>
          <Telephone>
            <TelephoneType>OFFICE</TelephoneType>
            <TelephoneNumber>444-4444444</TelephoneNumber>
            <Extension>444</Extension>
          </Telephone>
        </Employee>
      </Department>
    </Company>Max
    [My Italian Oracle blog|http://oracleitalia.wordpress.com/2010/01/17/supporto-di-xml-schema-in-oracle-xmldb/]

  • Generate nested XML using OracleXMLQuery generates error

    Hello,
    I have oracle 8.1.6 with XSQL 1.0.4 and need to generate XML out of a query that contains the // init the OracleXMLQuery
    OracleXMLQuery qry = new OracleXMLQuery(conn, query);
    // shape the XML doc generated
    qry.setMaxRows(2); // set the maximum number of rows to be returned
    qry.setSkipRows(3); // numbers of rows to skipped
    qry.setRowsetTag("MYDOC"); // set the tags encapsulating the whole doc
    qry.setRowTag("RECORD"); // sets the row separator tag
    qry.setRowIdAttrName("cnt"); // sets the id attribute of the row element
    qry.useNullAttributeIndicator(true); // use attr. to indicate nullness
    qry.useUpperCaseTagNames(); // use upper case tag names
    qry.setErrorTag("ERR"); // tag for errors writen to XML doc
    XMLDocument myXMLDocument = (XMLDocument)qry.getXMLDOM();
    PrintWriter out = response.getWriter();
    myXMLDocument.print(out);
    out.close();null

    I have exactly the same problem by using XSU.
    If somebody solve it already ?
    David, can you please provide more information or small example, how can I extract OracleConnection or Oracle Specific Driver inside the Weblogic App. Server and not generic weblogic.jdbc.rmi.SerialConnection instance.
    I'm using Oracle thinDriver on Oracle8i.
    Thank you in advance.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by David G:
    have seen similar problems with wrapped jdbc driver being passed into Weblogic pool service and then cast back into OracleDriver after getting it back from Weblogic's JNDI DataSource lookup ...the Oracle extensions do not seem to survive Weblogic's jdbc pool services handling. I have gone over to running all my connection pools in Oracle's own namespace jdbc_access:// for JNDI lookups on DataSource pools instead. Much happier. <HR></BLOCKQUOTE>
    null

  • Sql Query Error (9i) nested select with OleDB

    I have the following query which works fine when used with Sqlplus, but fails when called from within crytal reports (using an OleDB connection). I saw an open Oracle bug number 3025605 on some website, but haven't been able to look up any additional information on the error. The query fails with Ora-00972.
    SELECT "CLIENTS"."CLTFIRSTNAME",
    "CLIENTS"."CLTLASTNAME",
    "CLIENTS"."CLTMIDDLENAME",
    "SCHEDULE"."SCSESSIONDATE",
    (SELECT r.REMPFIRSTNAME||' '||r.REMPLASTNAME
    FROM REFAGENCYEMPLOYEES R WHERE "R"."REMPLOYEEID" = "SCHEDULE"."SCREFPERSON1ID") REFAGENT1,
    (SELECT r.REMPFIRSTNAME||' '||r.REMPLASTNAME
    FROM REFAGENCYEMPLOYEES R WHERE "R"."REMPLOYEEID" = "SCHEDULE"."SCREFPERSON2ID") REFAGENT2,
    "CODELOOKUP"."CODELISTNAME"
    FROM "POBJS"."CLIENTS" "CLIENTS",
    "POBJS"."SCHEDULE" "SCHEDULE",
    "POBJS"."CODELOOKUP" "CODELOOKUP"
    WHERE ("CLIENTS"."CLIENTID"="SCHEDULE"."SCCLIENTID")
    AND ("SCHEDULE"."SCEXAMTYPE"="CODELOOKUP"."CODEVALUE")
    AND "CODELOOKUP"."CODELISTNAME"='EXAM TYPES'
    Thanks for any help.

    Thanks for the information. I worked around the problem by calling a function that basically runs the nested select statement and returns a value.
    pobjs.getrname("SCHEDULE"."SCREFPERSON1ID") AS AGENT1,
    "CODELOOKUP"."CODELISTNAME"
    FROM "POBJS"."CLIENTS" "CLIENTS", ........

  • How to write the SQL query for generating triangular numbers

    Hi,
    I have a table ..which stores the sequence number like this
    Seq :
    1000
    1200
    1300
    1500
    1800
    1900
    Now i want to get a result like this
    1000 1000
    1200 2200
    1300 3500
    1500 5000
    1800 6800
    1900 8700
    how can it be achieved. I tried using Lead and lag. but only I can add the n+1 or n-1 results. Please help.

    I've never heard it called 'triangular numbers' before but I think you're looking for a 'running total':
    SQL> WITH data AS
      2  (
      3     SELECT 1000 AS num FROM dual UNION ALL
      4     SELECT 1200 AS num FROM dual UNION ALL
      5     SELECT 1300 AS num FROM dual UNION ALL
      6     SELECT 1500 AS num FROM dual UNION ALL
      7     SELECT 1800 AS num FROM dual UNION ALL
      8     SELECT 1900 AS num FROM dual
      9  )
    10  /* END SAMPLE DATA */
    11  SELECT num, SUM(num) OVER (ORDER BY num) AS running_total
    12  FROM   data
    13  ORDER BY 1
    14  ;
           NUM RUNNING_TOTAL
          1000          1000
          1200          2200
          1300          3500
          1500          5000
          1800          6800
          1900          8700
    6 rows selected.

  • Nested XML Feed

    Hello,
    I use Oracle 11g R2 SOE....
    I have two main tables
    COMMERCIALS_PROPERTIES (com_id number PK , com_size number, project_id number, com_type number)
    COM_PHOTOS (ID number PK , com_id number FK, content blob, mimetype varchar2)
    Please, note the following has nothing to do with my problem:
    CONTENT and MIMETYPE columns. Also, the lookup tables: PROJECTS , COM_TYPE
    In APEX ( Application Express ) we can expose a report as RESTful web service in XML format:
    I am using this query to generate the XML 1 feed, but I need to tweak the query to generate XML 2 feed.
    Is it possible, how to do it ???
    Select
    "COM"."COM_ID" as "COM_ID",
    "COM"."COM_SIZE" as "SIZE",
    "PROJECTS"."PROJECT_NAME_EN" as "PROJECT",
    "COM_TYPES"."COM_TYPE" as "COM_TYPE",
    'http://fam-erp.com/apex/erp/fateh/'||IMG.ID as "ImgURL"
    FROM
    COM_PHOTOS IMG inner join COMMERCIALS_PROPERTIES "COM"
    on   IMG.COM_ID = COM.COM_ID
    inner join "PROJECTS" "PROJECTS"
    on "PROJECTS"."PROJECT_ID"="COM"."PROJECT_ID"
    inner join "COM_TYPE_LOOKUP" "COM_TYPES"
    on "COM_TYPES"."TYPE_ID"="COM"."COM_TYPE"
    WHERE
      COM.COM_ID < 80 order by 1h1. XML 1
    h2. Please look only at <COM_ID> and <ImgURL>
    <ROWSET>
    <ROW>
    <COM_ID>77</COM_ID>
    <SIZE>842</SIZE>
    <PROJECT>Bayswater Tower</PROJECT>
    <COM_TYPE>Office</COM_TYPE>
    <ImgURL>http://fam-erp.com/apex/erp/fateh/1410</ImgURL>
    </ROW>
    <ROW>
    <COM_ID>77</COM_ID>
    <SIZE>842</SIZE>
    <PROJECT>Bayswater Tower</PROJECT>
    <COM_TYPE>Office</COM_TYPE>
    <ImgURL>http://fam-erp.com/apex/erp/fateh/1412</ImgURL>
    </ROW>
    <ROW>
    <COM_ID>78</COM_ID>
    <SIZE>756</SIZE>
    <PROJECT>Bayswater Tower</PROJECT>
    <COM_TYPE>Office</COM_TYPE>
    <ImgURL>http://fam-erp.com/apex/erp/fateh/1425</ImgURL>
    </ROW>
    <ROW>
    <COM_ID>78</COM_ID>
    <SIZE>756</SIZE>
    <PROJECT>Bayswater Tower</PROJECT>
    <COM_TYPE>Office</COM_TYPE>
    <ImgURL>http://fam-erp.com/apex/erp/fateh/1429</ImgURL>
    </ROW>
    </ROWSET>---------------------------
    h1. XML 2
    h2. Please look only at <COM_ID> and <Images> and <ImgURL>
    <ROWSET>
    <ROW>
    <COM_ID>77</COM_ID>
    <SIZE>842</SIZE>
    <PROJECT>Bayswater Tower</PROJECT>
    <COM_TYPE>Office</COM_TYPE>
    <Images>
          <ImgURL>http://fam-erp.com/apex/erp/fateh/1410</ImgURL>
          <ImgURL>http://fam-erp.com/apex/erp/fateh/1412</ImgURL>
    </Images>
    </ROW>
    <ROW>
    <COM_ID>78</COM_ID>
    <SIZE>756</SIZE>
    <PROJECT>Bayswater Tower</PROJECT>
    <COM_TYPE>Office</COM_TYPE>
    <Images>
            <ImgURL>http://fam-erp.com/apex/erp/fateh/1425</ImgURL>
            <ImgURL>http://fam-erp.com/apex/erp/fateh/1429</ImgURL>
    </Images>
    </ROW>
    </ROWSET>

    SQL query to generate Nested XML

  • Send mail weekly with spreadsheet generated from SQL query

    I have a requirement which is as follows
    1 - Run an SQL query to generate a report (lets say select * from emp;)
    2 - Save the report output in a excel (csv/xls/xlsx) and send as a mail attachment.
    3 - Schedule this procedure as a weekly job.
    #3 Job scheduling is simple and can be done but i am stuck with #1 and #2. How can I go about this?

    Hello,
    the FAQ of this forum space has a whole section about Re: 5. How do I read or write an Excel file?
    And as Karthik said: you can search this forum, all of your question where asked and answered many times.
    Regards
    Marcus

Maybe you are looking for

  • Template reference not getting reflected after Creating WSP file of SubSite in SharePoint Online ( Office 365)

    Hi all, I am following below Steps: Going to Library Setting. After Click on Some Custom Content Types in content Type section. Click on Document Set settings in Settings. Brows and Upload Document Template in "Default Content" Section. Click OK. Aft

  • Storage problem with Retina Pro Macbook

    My "125gb" (121gb) Retina macbook is connected to the office Dropbox but I have selective synced so my total file usage is 30.6gb (This is including photos, videos and other (I back up on a seperate hard drive). I am also using 31.2gb in apps.  All p

  • Attach Interactive form to R/3 workflow

    I have created an interactive form in Web dynpro ABAP on the portal client 7.0. I want to attach the form to workflow in R/3 4.7. Can anyone help on how to go about this.

  • Calculations

    Hi Guys, How to get the TOTALS for a field(say, Quantity) in Table node of a Smartform? ThanQ.

  • System copy other than sapinst.exe

    Hi, i have done system copy by using sapinst.exe. is any other method/tool available to do system copy? also, how can i do a system copy without copying all the users available in the system to the target system? regards, siva kumar