Aliases for XML nested query

Hi,
I am generating a XML file from a stored procedure based on a select statement like this:
ctx := dbms_xmlgen.newcontext('SELECT CURSOR(SELECT t1.cntbtch, rownum cntitem, t1.idvend, t1.idinvc,
CURSOR (SELECT batch_number cntbtch, 20 * rownum cntline FROM t2) as AP0022,
CURSOR (SELECT batch_number cntbtch, invoice_date_cdo datedue from t3) as AP0023
FROM t1) as AP0021
FROM dual');
dbms_xmlgen.setrowsettag(ctx, 'DataSet');
dbms_xmlgen.setrowtag(ctx, 'AP0020');
The result is:
<?xml version="1.0" ?>
- <DataSet>
- <AP0020>
- <AP0021>
- <AP0021_ROW>
<CNTBTCH>GL000003</CNTBTCH>
<CNTITEM>1</CNTITEM>
<IDVEND>1919</IDVEND>
<IDINVC>3354033</IDINVC>
- <AP0022>
- <AP0022_ROW>
<CNTBTCH>GL000003</CNTBTCH>
<CNTLINE>20</CNTLINE>
</AP0022_ROW>
</AP0022>
- <AP0023>
- <AP0023_ROW>
<CNTBTCH>GL000003</CNTBTCH>
<DATEDUE>06-JAN-06</DATEDUE>
</AP0023_ROW>
</AP0023>
</AP0021_ROW>
I would like NOT to show <AP0021>, <AP0022> and <AP0023> rowtags, but instead <AP0021_ROW>, <AP0022_ROW> , <AP0023_ROW> to show as <AP0021>, <AP0022> , <AP0023>
How can I get this?
Thank you,
Monica

Hi,
It looks like that you must be trying to set the result of the query to some variable from the Execute SQL Task. If yes, make sure that the target variable is of the correct data type where XML string  can fit into. Considering that in SSIS, we have
some limit for XML strings.
Please let me know if it doesn't help.
Thanks,
Nimit

Similar Messages

  • Execute SQL Task - FOR XML PATH query error

    I have the following query
    SELECT pl.Id,
    pl.StartTime,
    pl.EndTime,
    pl.PackageName,
    pl.Computer,
    pl.Operator,
    CASE WHEN (CHARINDEX('stack trace', pl.ErrorDescription) > 0) Then
        SUBSTRING(pl.ErrorDescription, 0, CHARINDEX('stack trace', pl.ErrorDescription))
        ELSE
        pl.ErrorDescription
        END as ErrorDescription
    ISNULL(ErrorFile,'') as ErrorFile,
    'Not Applicable' as SourceSystem
    FROM etl.PackageLog as pl
    WHERE pl.Processed = 0
    ORDER BY pl.StartTime, pl.PackageName
    FOR XML PATH('Row'), ROOT(N'FieldingCounts')
    in a Execute SQL Task and i get the following error:
    [Execute SQL Task] Error: Executing the query "SELECT pl.Id,
    pl.StartTime,
    pl.EndTime,
    pl.Package..." failed with the following error: "An invalid character was found in text content.
    ". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
    The query execute without problem in database and in the ssis package doens't run because of the column
    CASE WHEN (CHARINDEX('stack trace', pl.ErrorDescription) > 0) Then
        SUBSTRING(pl.ErrorDescription, 0, CHARINDEX('stack trace', pl.ErrorDescription))
        ELSE
        pl.ErrorDescription
        END as ErrorDescription
    Any help to overcome the problem?
    Thanks

    Hi,
    It looks like that you must be trying to set the result of the query to some variable from the Execute SQL Task. If yes, make sure that the target variable is of the correct data type where XML string  can fit into. Considering that in SSIS, we have
    some limit for XML strings.
    Please let me know if it doesn't help.
    Thanks,
    Nimit

  • Using nested query to avoid repeated object traversal

    Hi everyone,
    My SQL is still very basic, hopefully this is not a dumb question ;-)
    I have a table with a single spatial column of type SDO_GEOMETRY:
    SQL> desc WITHIN_POINT_DISTANCE_TAB
    Name                                            Null?    Type
    POINT                                                    MDSYS.SDO_GEOMETRYin which I store only single point geometries. I discovered that using the min/max SQL operators to get the combined extend of my points is faster than using SDO_TUNE.EXTEND_OF:
    SQL> select min(e.point.sdo_point.x) min_x, max(e.point.sdo_point.x) max_x, min(e.point.sdo_point.y) min_y, max(e.point.
    sdo_point.y) max_y from WITHIN_POINT_DISTANCE_TAB e;
         MIN_X      MAX_X      MIN_Y      MAX_Y
    -44.700001 737.400024 -23.870001 1094.83008
    Elapsed: 00:00:00.01but it bothers me a bit to repeat e.point.sdo_point 4 times in the above (what can I say, I'm a developer ;-) So I thought I could use a nested query to select all the SDO_POINT_TYPE sdo_point's and refer it using a p alias, and be able to simplify the query to:
    SQL> select min(p.x), min(p.y), max(p.x), max(p.y) from (select t.point.sdo_point from WITHIN_POINT_DISTANCE_TAB t) p;
    select min(p.x), min(p.y), max(p.x), max(p.y) from (select t.point.sdo_point from WITHIN_POINT_DISTANCE_TAB t) p
    ERROR at line 1:
    ORA-00904: "P"."Y": invalid identifierBut obviously this is incorrect, yet I'd like to understand what I'm missing here.
    I posited that maybe the sub-query can't return an object member and needs to return a column, but that doesn't appear to be the case:
    SQL> select min(p.sdo_point.x), min(p.sdo_point.y), max(p.sdo_point.x), max(p.sdo_point.y) from (select t.point from WIT
    HIN_POINT_DISTANCE_TAB t) p;
    select min(p.sdo_point.x), min(p.sdo_point.y), max(p.sdo_point.x), max(p.sdo_point.y) from (select t.point from WITHIN_P
    OINT_DISTANCE_TAB t) p
    ERROR at line 1:
    ORA-00904: "P"."SDO_POINT"."Y": invalid identifierCan someone please explain why the nested query approach fails as written above?
    More generally, is it a bad idea to go for a nested query just for syntactic reasons? Are there performance implications going the nested query route above? (I actually wanted to see the perf. implications experimentally, but since it fails I can't...)
    Any insight would be appreciated. Thanks, --DD                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Thank you Peter. I now understand that I need to alias the column in addition to the table (the latter only because I traverse objects which require table aliases).
    SQL> select min(t.p.x), min(t.p.y), max(t.p.x), max(t.p.y) from
      2  (select nt.point.sdo_point p from WITHIN_POINT_DISTANCE_TAB nt) t;
    MIN(T.P.X) MIN(T.P.Y) MAX(T.P.X) MAX(T.P.Y)
    -44.700001 -23.870001 737.400024 1094.83008
    Elapsed: 00:00:00.01Performance-wise it looks similar, but I need to test on a bigger table because it's too fast with 10K points to show differences. Overall it doesn't look that using the nested query syntax makes the query more readable once all pieces to make it work are there.
    Thanks again, --DD
    PS: Just aliasing the column and not the outer table fails:
    SQL> select min(p.x), min(p.y), max(p.x), max(p.y) from (select nt.point.sdo_point p from WITHIN_POINT_DISTANCE_TAB nt);
    select min(p.x), min(p.y), max(p.x), max(p.y) from (select nt.point.sdo_point p from WITHIN_POINT_DISTANCE_TAB nt)
    ERROR at line 1:
    ORA-00904: "P"."Y": invalid identifier

  • URL constructor for XML query

    I can't seem to construct an http SQL query correctly using the Java URL constructor. When I enter the following string in the browser window, everything works fine:
    "http://aaaa.bbb.ccc.com/nwind?sql=select * from employees for xml auto&root=root". The results of the query are displayed in the browser window. I would like to get this to work using the URL and URLConnection classes. It seems I always get some sort of error with a response length of -1. I would appreciate any insight into this problem. Thanks for your help.
    Paul J. Lay
    [email protected]

    Thanks for your prompt reply. I tried your suggestion immediately. It didn't change the results. I still get a response length of -1. You can actually try this yourself by keying in a browser window the following string: www.itsmagical.com/nwind?sql=select * from employees for xml auto&root=root. I can't imagine what the problem could be. Thanks again for your prompt reply.
    Best Regards,
    Paul J. Lay

  • No method found for XML query element

    Hi,
    I have an EJB module which contains some entity beans.
    If I try to deploy it or verify it using the Sun One Verifier Tool I get the following exception...
    Error: ** Error trying to process file: java.lang.RuntimeException: No method found for XML query element: Ambiguous or invalid <query-method>
    java.lang.RuntimeException: No method found for XML query element: Ambiguous or invalid <query-method>
    at com.sun.enterprise.deployment.xml.EjbNode.parseQueries(EjbNode.java:700)
    at com.sun.enterprise.deployment.xml.EjbNode.completeLoadingDescriptor(EjbNode.java:671)
    at com.sun.enterprise.deployment.xml.EjbBundleNode.completeLoadingDescriptor(EjbBundleNode.java:524)
    at com.iplanet.ias.deployment.EjbBundleXmlReader.load(EjbBundleXmlReader.java:249)
    at com.iplanet.ias.deployment.EjbBundleXmlReader.loadStdAloneModule(EjbBundleXmlReader.java:162)
    at com.sun.enterprise.tools.verifier.Verifier.openEjbJar(Verifier.java:2421)
    at com.sun.enterprise.tools.verifier.Verifier.loadEjbJar(Verifier.java:1318)
    at com.sun.enterprise.tools.verifier.Verifier.loadJar(Verifier.java:866)
    at com.sun.enterprise.tools.verifier.gui.MainPanel.run(MainPanel.java:187)
    at java.lang.Thread.run(Thread.java:536)
    Look in file "EntityBeans.jar_verified.xml" for detailed results on test assertions.
    This problem can be resolved by un-installing the IDE, removing my user directory, and re-installing the IDE (I am using SunOne Studio 5 SE Update 1). The problem is that it returns with alarming regularity.
    Anyone else experiencing this? Any help would be much appreciated.

    Sometimes, but not always, this exception appears in the ide.log before the error first occurs.
    com.sun.forte4j.j2ee.packaging.PackagingIOException: package/EntityBeans.ejbjar
         at com.sun.forte4j.j2ee.packaging.PackagingUtil.writeJarFile(PackagingUtil.java:403)
         at com.sun.forte4j.j2ee.packaging.PackagingUtil.writeJarFile(PackagingUtil.java:67)
         at com.sun.forte4j.j2ee.ejbmodule.EJBModuleDataObject.writeEJBJar(EJBModuleDataObject.java:2673)
         at com.iplanet.ias.tools.forte.verifier.VerifierAction.performAction(VerifierAction.java:63)
         at org.openide.util.actions.NodeAction$DelegateAction.actionPerformed(NodeAction.java:431)
         at org.netbeans.core.ModuleActions$1.run(ModuleActions.java:97)
         at org.openide.util.Task.run(Task.java:136)
         at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:328)
         at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:670)

  • Query language for XML documents

    Which is a better (efficiency in terms of memory management) query language for interacting with XML documents.The query language shouls support 'insert', 'delete', 'update' and 'select' commands. How fast is database as compared to XML ( database being replaced by XML) when only 'insert' n 'select' commands are issued?

    Hi,
    I suggest you use the Sunopsis JDBC for XML driver that will let you perform all kind of SQL statements on your XML files. It is a type 4 driver so it's very use to use. You may have more information and download it here:
    http://www.sunopsis.com/corporate/us/products/jdbcforxml/
    Hope that will help
    Simo Fernandez

  • Query language for XML that is going to remove use of database

    Friends,
    I want to know whether my idea is feasible or not.
    I want to make a query language similar to SQL for XML which is going to remove the need for database for a large extent.
    Their will be queries for making table,extracting data,making foreign key all through XML and no database.
    I just want to know that is their any market value for such a project and will it be sellable,so that i can start working on it.

    There is no way to judge any future market for such a thing.
    As it is, XML is widely abused, having mutated from its original purpose, a markup language readable by both machine and human, to a general data interchange language. It winds up being extremely slow and convoluted, in some cases overwhelming the hardware when a simple and common error occurs, then having to catch up. A big part of this is the silly and redundant method of defining metadata, again and again and again and again.
    So what you want to do is create a database which will be highly formatted with redundant information, dynamically. This is silly, why does data need to be stored in a human readable format? It doesn't always even need to be presented in a human readable format! Why the heck would you need to read the bits of an mp4? Steganography?
    What you are proposing is the exact opposite of what is needed. What is needed is a way to describe metadata for many different kinds of data, in a manner that can be interpreted by both man and machine at appropriate times, extensible for various paradigms.
    What can be sold, on the other hand, is another question entirely, and not technical at all.
    First definition of database that pops up during a search: an organized body of related information
    Why would you want to get rid of that?

  • FOR XML will not run in stored procedure but will in Query

    The following is the Query and stored procedure for a XML export.  The query runs find and returns a clickable link. The stored procedure does not.
    Stored Procedure
    USE [db]
    declare @XmlOutput1 xml
    set @XmlOutput1 =
    (SELECT incident_num,
    unit_id, unit_status_datetime,
    unit_status_remarks
    FROM unit_status_hist
    where convert(varchar,unit_status_datetime,102)
    =
    convert(varchar,getdate(),102)
    FOR XML
    RAW)
    select @XmlOutput1
    Query:
    use db
    SELECT incident_num, unit_id,
    unit_status_datetime,  unit_status_remarks
    FROM unit_status_hist
    WHERE  convert(varchar,unit_status_datetime,102)
    =
    convert(varchar,getdate(),102)
    for XML
    auto, Elements
    Any help would be greatly appreciated.  Thank you.

    The following is the Query and stored procedure for a XML export.  The query runs find and returns a clickable link. The stored procedure does not.
    Stored Procedure
    USE [db]
    declare @XmlOutput1 xml
    set @XmlOutput1 =
    (SELECT incident_num,
    unit_id, unit_status_datetime,
    unit_status_remarks
    FROM unit_status_hist
    where convert(varchar,unit_status_datetime,102)
    =
    convert(varchar,getdate(),102)
    FOR XML
    RAW)
    select @XmlOutput1
    Query:
    use db
    SELECT incident_num, unit_id,
    unit_status_datetime,  unit_status_remarks
    FROM unit_status_hist
    WHERE  convert(varchar,unit_status_datetime,102)
    =
    convert(varchar,getdate(),102)
    for XML
    auto, Elements
    Any help would be greatly appreciated.  Thank you.
    I cant see any stored procedure here
    both of the code posted are queries only
    also clickable link will come in only SSMS query window. Are you trying to execute this from some application?
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Query regarding FOR XML PATH

    I have found a script that contains the following:
    stuff(
    select
    ', ' +
    fielda
    from
    tablea
    for
    xml path (''),
    type).value
    'nvarchar(max)')
    ,1,2,
    anotherfield
    This will concatenate field a and the stuff will remove the leading comma.
    I have amended the script to the following and it still works:
    Stuff(
    select
    ', ' +
    fielda
    from
    tablea
    for
    xml path (''))
    ,1,2,
     Afield,
    Please could somebody tell me why the following has been inserted after the
    for xml path ('')
    section
    type).value
    ('.', 'nvarchar(max)')

    Erland - I just did a quick test. The differences weren't as bad as the subtree estimates would have indicated but they weren't exactly close either. The typed version (on average) took just over twice as long to execute.
    Test conditions were as follows:
    AdventureWorks2012 database 
    On average, the non-typed version executed in ~190 ms and the typed version executes in ~405 ms.
    Test bed was the following:
    @@VERSION = 
    Microsoft SQL Server 2012 - 11.0.2218.0 (X64) 
    Jun 12 2012 13:05:25 
    Copyright (c) Microsoft Corporation
    Developer Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
    Hardware = 
    Processor: Core i7-4770K @ 3.50GHz (4 physical cores / 8 logical cores)
    Ram: 16.0 GB @ 2400 MHz
    HD: SSD
    Here are the two test scripts that I used... (each run in it own SSMS tab)
    -- Typed version --
    DECLARE @BegDT DATETIME2(7) = SYSDATETIME()
    SELECT
    sod1.SalesOrderID,
    STUFF((
    SELECT ', ' + CAST(sod2.ProductID AS VARCHAR(8))
    FROM Sales.SalesOrderDetail sod2
    WHERE sod1.SalesOrderID = sod2.SalesOrderID
    FOR XML PATH(''), TYPE).value('.', 'varchar(max)'), 1, 2, '') AS csv
    FROM
    Sales.SalesOrderDetail sod1
    GROUP BY
    sod1.SalesOrderID
    SELECT DATEDIFF(ms, @BegDT, SYSDATETIME()) AS ExecTimeMS
    -- Non-typed version --
    DECLARE @BegDT DATETIME2(7) = SYSDATETIME()
    SELECT
    sod1.SalesOrderID,
    STUFF((
    SELECT ', ' + CAST(sod2.ProductID AS VARCHAR(8))
    FROM Sales.SalesOrderDetail sod2
    WHERE sod1.SalesOrderID = sod2.SalesOrderID
    FOR XML PATH('')), 1, 2, '') AS csv
    FROM
    Sales.SalesOrderDetail sod1
    GROUP BY
    sod1.SalesOrderID
    SELECT DATEDIFF(ms, @BegDT, SYSDATETIME()) AS ExecTimeMS
    If you see holes in my test approach, please let me know.
    Thanks,
    Jason
    Jason Long

  • Nested query in BPEL JDeveloper

    Hi,
    Can anyone help me with nested query writing in BPEL (JDeveloper)
    the query is :
    SELECT LENGTH, WIDTH, HEIGHT, WEIGHT,
    LENGTH*WIDTH* HEIGHT AS ITEM_CUBE
    FROM ITEM_SUPP_COUNTRY_DIM
    WHERE ITEM= &lt;Level1 item&gt;
    AND DIM_OBJECT= (SELECT CASE_NAME FROM ITEM_SUPPLIER WHERE ITEM=&lt;Item&gt; AND PRIMARY_SUPP_IND = &lsquo;Y')
    Please help me with the steps.
    Many thanks

    Hi,
    For the following query:
    SELECT S.STORE, S.STORE_NAME, A.ADD_1, A.ADD_2, A.ADD_3, A.CITY,A.STATE, A.POST, A.COUNTRY_ID, A.CONTACT_PHONE, A.CONTACT_NAME,S.STORE_OPEN_DATE, S.STORE_CLOSE_DATE, S.REMODEL_DATE, S.TRANSFER_ZONE,S.DISTRICT,S.STORE_TYPE
    FROM STORE S, ADDR A
    WHERE S.STORE= #store
    AND to_char(S.STORE) = #keyValue1
    AND A.MODULE = #module
    AND A.ADDR_TYPE = #type
    AND A.PRIMARY_ADDR_IND=#addrType
    the DB adapter shows this xml:
    &lt;?xml version = '1.0' encoding = 'UTF-8'?&gt;
    &lt;xs:schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/WMSStoreDataLookUp" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/WMSStoreDataLookUp" elementFormDefault="qualified" attributeFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
    &lt;xs:element name="WMSStoreDataLookUpInput" type="WMSStoreDataLookUpInput"/&gt;
    &lt;xs:complexType name="WMSStoreDataLookUpInput"&gt;
    &lt;xs:sequence&gt;
    &lt;xs:element name="store" type="/&gt;<br /><br /> &lt;xs:element name="keyValue1" type="/&gt;
    &lt;xs:element name="module" type="/&gt;<br /><br /> &lt;xs:element name="type" type="/&gt;
    &lt;xs:element name="addrType" type="/&gt;<br /><br /> &lt;/xs:sequence&gt;<br /><br />&lt;/xs:complexType&gt;<br /><br />&lt;xs:element name="WMSStoreDataLookUpOutputCollection" type="WMSStoreDataLookUpOutputCollection" nillable="true"/&gt;<br /><br />&lt;xs:complexType name="WMSStoreDataLookUpOutputCollection"&gt;<br /><br />&lt;xs:sequence&gt;<br /><br />&lt;xs:element name="WMSStoreDataLookUpOutput" type="WMSStoreDataLookUpOutput" minOccurs="0" maxOccurs="unbounded"/&gt;<br /><br />&lt;/xs:sequence&gt;<br /><br />&lt;/xs:complexType&gt;<br /><br />&lt;xs:complexType name="WMSStoreDataLookUpOutput"&gt;<br /><br />&lt;xs:sequence&gt;<br /><br />&lt;xs:element name="S_STORE" type="xs:decimal" nillable="true"/&gt;<br /><br />&lt;xs:element name="S_STORE_NAME" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_ADD_1" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_ADD_2" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_ADD_3" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_CITY" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_STATE" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_POST" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_COUNTRY_ID" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_CONTACT_PHONE" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_CONTACT_NAME" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="S_STORE_OPEN_DATE" type="xs:dateTime" nillable="true"/&gt;<br /><br />&lt;xs:element name="S_STORE_CLOSE_DATE" type="xs:dateTime" nillable="true"/&gt;<br /><br />&lt;xs:element name="S_REMODEL_DATE" type="xs:dateTime" nillable="true"/&gt;<br /><br />&lt;xs:element name="S_TRANSFER_ZONE" type="xs:decimal" nillable="true"/&gt;<br /><br />&lt;xs:element name="S_DISTRICT" type="xs:decimal" nillable="true"/&gt;<br /><br />&lt;xs:element name="S" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_PRIMARY_ADDR_IND__addrType" type="xs:string" nillable="true"/&gt;<br /><br />&lt;/xs:sequence&gt;<br /><br />&lt;/xs:complexType&gt;<br /><br />&lt;/xs:schema&gt;<br /><br /><br /><br />Please, look at the last few lines of XML and let me know if this is correct..

  • Generating mixed case columns for XML using Object views

    I am trying to model a query involving joins to generate hierarchical levels for XML document. I model it with an object view with a multicast subquery and the generated XML works fine except the following :
    The generated XML creates a tag <view_column_name>_ITEM for the nested multicase subquery columns in the view and all the nested subquery view columns in upper case because the underlying table columns are in upper case. To better illustrate, please see the following example :
    CREATE TYPE Tillinstance_t as object (
    "Tillinstanceid" number
    ,"Stationid" number
    ,"Comment" varchar2(2000)
    ,"DepositID" number(38)
    ,"TimestampCreate" date
    ,"UseridCreate" number
    ,"TimestampChange" date
    ,"UseridChange" number
    ,"TimestampClosed" date
    ,"UseridClosed" number
    ,"TimestampBalance" date
    ,"UserIDBalance" number )
    create type insts as table of Tillinstance_t ;
    CREATE OR REPLACE VIEW till_view AS
    SELECT t.tillid as "TillID"
    , t.description as "Descr"
    , t.word as "Word"
    , t.Scopetypeid as "ScopeTypeId"
    , t.displayOrder as "DisplayOrder"
    , t.useridcreate as "UserIDCreate"
    , t.newid as "NewID"
    , t.flagactive as "FlagActive"
    , t.timestampcreate as "TSCR"
    , t.useridcreate as "UIDCR"
    , t.timestampchange as "TSCH"
    , t.useridchange as "UIDCH"
    , CAST( MULTISET ( SELECT i.Tillinstanceid as "TillinstanceID"
    , i.stationid as "StationID"
    , i.ocomment as "Comment"
    , i.depositid as "DepositID"
    , i.Timestampcreate as "TSCR"
    , i.useridcreate as "UIDCR"
    , i.Timestampchange as "TSCH"
    , i.useridchange as "UIDCH"
    , i.timestampclosed as "TSCL"
    , i.useridclosed as "UIDCL"
    , i.timestampbalance as "TSBAL"
    , i.useridbalance as "UIDBAL"
    FROM TillInstance i
    WHERE t.tillid = i.tillid)
    AS Insts)
    AS "Insts"
    FROM ucTill t
    The generated XML shows up in the form of :
    <?xml version = '1.0'?>
    <Tills>
    <Till TillID="1002" Descr="Till #3" Word="Till3" ScopeTypeId="8"
    DisplayOrder="0" UserIDCreate="296" TSCR="3/26/2001 0:0:0" UIDCR="296"
    TSCH="5/4/2001 14:12:32" UIDCH="298">
    <Insts>
    <Insts_ITEM TILLINSTANCEID="1278" STATIONID="1057" OCOMMENT="Morning Till3"
    TIMESTAMPCREATE="3/26/2001 0:0:0" USERIDCREATE="296" TIMESTAMPCHANGE="6/7/2001
    8:26:49" USERIDCHANGE="99" TIMESTAMPCLOSED="6/7/2001 8:26:49"
    USERIDCLOSED="99"/>
    <Insts_ITEM TILLINSTANCEID="1362" STATIONID="1057" TIMESTAMPCREATE="6/7/2001
    8:27:13" USERIDCREATE="99" TIMESTAMPCHANGE="6/11/2001 11:32:58"
    USERIDCHANGE="320"/>
    </Insts>
    </Till>
    </Tills>
    Now How do I stripe out the _ITEM from the generated XML and change the columns TIMESTAMPCREATE, USERIDCLOSED etc to mixed case?
    Any idea

    I could generate the mixed case columns with no problem. It was my mistake and sorry for the inconvinience.
    However I am running into problems modelling a nested hierarchical set of queries with levels more than 2.
    Please advise of any sample code available anywhere.
    For example I could do :
    create table x1 ( id number , f1 varchar2(10));
    creat table x2 ( id number , id_x1 number references x1(id) , f1 varchar2(10)) ;
    create table x3 ( id number , id_x2 number references x2(id), f1 varchar2(10)) ;
    To model this, I did
    create type x3_typ as object ( id number, id_x2 number , f1 varchar2(10)) ;
    create type x3_typ_t is table of x3_typ ;
    create type x2_typ as object ( id number, id_x1 number , f1 varchar2(10), x3_list x3_typ_t ) ;
    create type x2_typ_t is table of ref x2_typ ;
    create type x1_typ as object ( id number
    , f1 varchar2(10) , x2_list x2_typ_t ) ;
    create or replace view x3_x2 as
    select id , f1 , cast(multiset(select * from x3 ) as x3_typ_t ) as x3_list
    If I try to use a view again like as given below, I get the Oracle inconsistent datatypes error.
    create or replace view x2_x1 as
    select id , f1 , cast(multiset(select * from x3_x2 ) as x2_typ_t ) as x2_list
    I there a better way? Am I missing something? Please help.

  • How to do a Nested Query ?

    I have three Tables Student, Courses, Marks
    Table : Student
    Columns
    StudentID <PK>
    First Name
    Last Name
    Table : Grades
    Columns
    StudentID <FK>
    Grade
    Table : Courses
    Columns
    StudentID <FK>
    CourseID
    CourseDesc
    Now to get all the course descriptions which this particular student is taking based on the StudentID we do something like this :
    SELECT c.courseDesc
    FROM Courses c, Student s
    WHERE s.StudentID = '100'
    AND s.StudentID = c.StudentID
    The above will work
    But If I need to do it in nested query how can I do it : Something like
    SELECT * FROM
    SELECT c.courseDesc
    FROM Courses c, Student s
    AND s.StudentID = c.StudentID
    WHERE s.StudentID = '100'
    Thanks for the help.
    Harsimrat

    oops,try this...
    SELECT * FROM (
    SELECT s.StudentID,c.courseDesc
    FROM Courses c, Student s
    WHERE s.StudentID = c.StudentID)
    WHERE StudentID = '100';
    SQL> select * from
      2  (select e.ename,d.deptno from test_dept d,test_emp e where e.deptno = d.deptno)
      3  where deptno = 10;
    ENAME          DEPTNO
    BLAKE              10
    CLARK              10
    KING               10
    MILLER             10
    SQL>

  • Unable to locate Spring NamespaceHandler for XML schema namespace

    I am not sure if this is the best practice approach but this is the problem I am ruining into. Below, I explain what I am doing:
    1) What I am doing:
    =============
    Based on the oracle incubator example (http://coherence.oracle.com/display/INCUBATOR/Processing+Pattern+Examples); I am running a server and submitting tasks through a proxy application that submits them to ProcessingPatternConfigurator; let's call my task processReport.
    a) my processReport is using spring and ibatis together, I created a utility static class to obtain a spring context and retrieves beans using the following lines ( see exhibit "A1 and A2" below).
    b) when my task calls the context and that spring loads, it is failing with the error show in exhibit "B".
    I suspect I am missing a lib? I googled the error and searched you site but could find a meaningful discussion on it. I guess my question is if this is not the best approach, how do I integrated with spring initializing beans and setting up ibatis framwork, providing beans and database access through Ibatis for each task ruining on the grid (processReport).
    thanks
    A1) processReport (submitted in the grid) uses this line
    AbstractXmlApplicationContext ctx = (AbstractXmlApplicationContext) AmrContextUtil.getInstance();
              System.out.println("Classpath loaded. Executing Report...");
              ReportProcessor repProcessor = (ReportProcessor) ctx.getBean("reportProcessor");
    A2) Here is the AmrContextUtil:
    import org.springframework.context.support.AbstractApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    public final class AmrContextUtil {
         private static AbstractApplicationContext ctx = null;
         public AmrContextUtil() {
              super();
         public final static synchronized AbstractApplicationContext getInstance(){
              if (ctx == null){
                   ctx = new ClassPathXmlApplicationContext("classpath:config/applicationContext.xml");
                   setCtx(ctx);
              return ctx;
         public final static synchronized AbstractApplicationContext getCtx() {
              return ctx;
         public final static synchronized void setCtx(AbstractApplicationContext ctx) {
              AmrContextUtil.ctx = ctx;
    B) Here is the error reported by the server:
    2010-02-10 15:42:28.312/57.986 Oracle Coherence GE 3.5.2/463 <Warning> (thread=GridExecutor:Thread-2
    , member=1): TaskRunner - Failed to process 0x00000126B99E5524AC1F007AAB1587BBCFEC5E6637E1DED6CCB984
    03D6AADF4D due to:org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath:config/reports-application.xml] Offending resource: class path resource [config/applicationContext.xml]; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unexpected failure during bean definition parsing
    Offending resource: class path resource [config/reports-application.xml] Bean 'reportSqlMapConfig'; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: *Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/util]*
    *Offending resource: class path resource [config/reports-application.xml] Bean 'reportSqlMapConfig'*
    -> Property 'resourceMap'
    c)Here is my application-context.xml offending line:
    <bean id="reportSqlMapConfig"
    class="com.xx.report.generator.ReportSqlMapConfig">
    <property name="resourceMap">
    <map>
    <entry>
    <key>
    <util:constant static-field="com.xx.report.domain.ReportType.FPA"/>
    </key>
    <value>classpath:config/diehardReportSqlMapConfig.xml</value>
    </entry>
    <entry>
    <key>
    <util:constant static-field="com.xx.report.domain.ReportType.FCN"/>
    </key>
    <value>classpath:config/falconReportSqlMapConfig.xml</value>
    </entry>
    <entry>
    <key>
    <util:constant static-field="com.xx.report.domain.ReportType.ODS"/>
    </key>
    <value>classpath:config/odsReportSqlMapConfig.xml</value>
    </entry>
    </map>
    </property>
    </bean>

    My guess is that something is broken in the configuration of the cacheServer and its not finding
    all of the dependencies that your process pattern application needs. Probably the best way
    to debug this stuff is to define a static main in your runnable task which will make the call
    to the run() method and invoke it as the main class using the identical settings (classpath,
    run directory) that you are using to launch the Coherence cache server.
    Regards,
    Bob

  • Logical operation in xml path query

    Hello
    If I have this XML data
    <a>
    <b>
    <c>
         <d>United States</d>
         <f>1</f>
         <g>Creditcard</g>
         <h>Will ship only within country</h>
         <k>something</k>
    </c>
    <c>
         <d>United States</d>
         <f>2</f>
         <g>MasterCard</g>
         <h>international</h>
         <k>something</k>
    </c>
    <c>
         <d>United States</d>
         <f>2</f>
         <g>MasterCard</g>
         <h>international</h>
         <k>something</k>
    </c>
    <c>
         <d>United States</d>
         <f>2</f>
         <g>MasterCard</g>
         <h>international</h>
         <k>something</k>
    </c>
    <c>
         <d>United States</d>
         <f>2</f>
         <g>MasterCard</g>
         <h>international</h>
         <k>something</k>
    </c>
    </b>
    </a>
    and I have this query:
    Q1: //c[NOT [[[/d="United States" AND /f="1" AND /g="Creditcard"] OR h="Will ship only within country"]]]
    How to write xml/sql query for it to retrive THE COUNT of the result , count of "c"
    Q2: //c[NOT [[[/d="United States" AND /f="1" AND /g="Creditcard"] OR h="Will ship only within country"]]]/k
    How to write xml/sql query for it to retrive THE COUNT of the result , count of "c/k"
    Thank you

    For example :
    SQL> with sample_data as (
      2      select xmltype('<a>
      3      <b>
      4      <c>
      5           <d>United States</d>
      6           <f>1</f>
      7           <g>Creditcard</g>
      8           <h>Will ship only within country</h>
      9           <k>something</k>
    10      </c>
    11      <c>
    12           <d>United States</d>
    13           <f>2</f>
    14           <g>MasterCard</g>
    15           <h>international</h>
    16           <k>something</k>
    17      </c>
    18      <c>
    19           <d>United States</d>
    20           <f>2</f>
    21           <g>MasterCard</g>
    22           <h>international</h>
    23           <k>something</k>
    24      </c>
    25      <c>
    26           <d>United States</d>
    27           <f>2</f>
    28           <g>MasterCard</g>
    29           <h>international</h>
    30           <k>something</k>
    31      </c>
    32      <c>
    33           <d>United States</d>
    34           <f>2</f>
    35           <g>MasterCard</g>
    36           <h>international</h>
    37           <k>something</k>
    38      </c>
    39      </b>
    40      </a>') xmldoc
    41      from dual
    42  )
    43  select count(*)
    44  from sample_data
    45     , xmltable(
    46         '//c[not(((d="United States" and f="1" and g="Creditcard") or h="Will ship only within country"))]'
    47         passing xmldoc
    48       ) x ;
      COUNT(*)
             4

  • From XML To Query

    Hi,
    This is My problem:
    I receive datas from an xml Feed and I always worked in this
    way:
    <cftry>
    <!--- fetch data from web service --->
    <cfhttp url="
    http://www.............
    method="get" charset="utf-8"/>
    <cfset xmldata = cfhttp.fileContent>
    <cftry>
    <!--- extract data from XML document and convert to query
    --->
    <cfset lstColumns =
    "KH,NH,KC,NC,KD,ND,KS,NS,KL,NL,KZ,NZ,LR"/>
    <cfset q2 = queryNew(lstColumns)/>
    <!--- <cfif isXml(cfhttp.fileContent)> avialable in
    CF7 only --->
    <cfset xmlObject = xmlParse(xmldata)/>
    <cfloop index="i" from="1"
    to="#arrayLen(xmlObject["ArrayOfHotelRoom"].xmlChildren)#">
    <cfset queryAddRow(q2,1)/>
    <cfloop index="ii" list="#lstColumns#">
    <cfset
    querySetCell(q2,ii,xmlObject["ArrayOfHotelRoom"].xmlChildren
    [ii].xmlText)/>
    </cfloop>
    </cfloop>
    <!--- </cfif> --->
    <cfcatch type="any"> <!--- any errors return empty
    result set --->
    <cfset q2 = queryNew(lstColumns)/>
    </cfcatch>
    </cftry>
    <cfcatch type="any">
    <cfoutput>There has been an internal problem. Please
    try again later</cfoutput>
    <cfexit>
    </cfcatch>
    </cftry>
    <!--- use QoQ to filter by hotel name --->
    <cfquery name="q" dbtype="query">
    select * from q2
    where SH = 'A' <!--- only show available hotels --->
    </cfquery>
    NOW THE PROBLEM IS THAT I NEED NOW TO IMPROVE MY SYSTEM USING
    A NEW VERSION OF THE XML CATALOGUE THAT NOW INCLUDE XML.CHILDREN:
    THE NEW XML:
    <?xml version="1.0" encoding="utf-8"?>
    <ArrayOfHotelRoom xmlns:xsd="
    http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance"
    xmlns="
    http://tempuri.org/xml/xmlService">
    <HotelRoom>
    <KH>717</KH>
    <NH>Acanto Suites & Lounge</NH>
    <KC>PDC</KC>
    <NC>Playa del Carmen</NC>
    <KD>16</KD>
    <ND>Playa del Carmen</ND>
    <KS>7E</KS>
    <NS>Special Category</NS>
    <KL>CENT</KL>
    <NL>City</NL>
    <KZ>1</KZ>
    <NZ>The Yucatan Peninsula</NZ>
    <LR>132.5000</LR>
    <Rooms>
    <RoomType>
    <KR>VLLBR1</KR>
    <NR>One Bedroom Villa</NR>
    <MP>RO</MP>
    <RR>132.5</RR>
    <IP>0</IP>
    <IL>0</IL>
    <IN>0</IN>
    <IF>0</IF>
    <PH>0</PH>
    <SH>A</SH>
    </RoomType>
    </Rooms>
    </HotelRoom>
    AS YOU SEE AFTER "LR" NOW I FIND OTHERS CHILDREN AND I DO
    NOT HOW TO REDUCE MY NEW XML TO QUERY
    Thank You
    Andrea

    Hi Charlie,
    thanks for your fast answer. I try to figure out what's are
    my doubts and need:
    1) Yes it must to be a query because i need to filter data to
    be shown in many different outputs.
    2) I understand that it should be possible to create
    something like 2 database table :
    one for the Hotel and
    one for Rooms with all the subitems( I confirm you that there
    will be situations with more RoomType Item for each Rooms. My doubt
    now is how I will be able to manage the query joining the 2 tables
    when I miss a common date to show in the statement WHERE ( Example
    : WHERE Hoteltable.#KH#( hotel ID ) = RoomsTable.#Here I will miss
    the compare data that in the second table is not provided by the
    xml#.
    How will I be able to manage the query??????
    I think this is our way but I am really lost at this level.
    Of course the solutions with only one table with multiple
    rows for each rooms type will create me problems in outputs results
    . I will have results where the selection will not be the hotel but
    the rooms type and will be inconvenient to receive dinamically 5
    times the same hotel with the different rooms type details.
    What I need is to receive each hotel only once with all the
    roomstype details inside.
    Thanks for your help
    Andrea

Maybe you are looking for

  • Header and Logo in Blocked ALV

    Is It possible to put header and logo in Blocked ALV Report. Is yes shall I go with the same way we put the Header and Logo in ALV Grid report. Thanks in Advance.

  • Problems viewing PDF's in Safari

    Every time I try and open a PDF from Safari 7.0.4 I get this message " before viewing PDF documents in this browser you must launch Adobe Reader and accept the End User Licence Agreement, then quit and relaunch the browser."    I am using Adobe Acrob

  • BSP invalid due to wrong characters in URL

    Hi all, Anybody have had next problem. Next URL is executed : https://secure.securex.be/crm1/sap/bc/bsp/sap/sem_bsc/analysis.htm Via the reverse proxies ichain and Teros, the service is changed to /sap%28bD1ubCZjPTYwMA%3D%3D%29/bc/bsp/sap/sem_bsc/ana

  • Power Pivot Slicer options not showing in the Pivot Table Field list

    Excel 2013. In all the tutorials I watch when you create a Pivot Table using Power Pivot there are Slicer options in the Pivot Table Fields list.  Slicer Horizontal, Slicer Vertical These do not show for me.   I see Filters, Value, Row, Column only.

  • The date should be divided based on the month

    Hi Team,                I have two fields A and B.Iam fetching vbeln and erdat from VBAK.it is in the Format YYYY/MM/DD. suppose i get the values from 2009/10/01 to 2009/11/18. Now all the values from 2009/10/01 to 2009/10/31 should be in A. The valu