mechanism of table joins Oracle

Hi gurus,

If a SQL query with Inner, left to join external and external resources right how its works.

Thank you

VK

Hello

Have you read the documentation:

https://docs.Oracle.com/CD/E11882_01/server.112/e41084/queries006.htm#SQLRF30046

Tags: Database

Similar Questions

  • Need help with joins Oracle


    Hi all

    Any new on Oracle Sql and I need expert input to solve a problem I have to join Oracle.

    Have a requirement as below, my reading of request as below.

    SELECT A.GCI, B.LOB_IND, B.CED_ID, C. LOB_DESCR OF CUSTOMER, CUSTOMER b, C from LOB

    WHERE A.PRIMARY_CED = B.CED_ID (+)

    AND B.LOB = C.LOB_DESCR (+)

    AND B.LOB_IND (+) = 'Y '.

    AND A.GCI IN

    (

    '339492963',

    '339850821');

    Output current:

    GCI LOB_IND CED_ID LOB_DESCR

    339850821 Y 7905108 banking services for businesses

    Null Null null 339492963

    Power required:

    GCI LOB_IND CED_ID LOB_DESCR

    339850821 Y 7905108 banking services for businesses

    339492963 7859659 null null

    In the table B (CLIENT) for a ced_id there will be several entries.

    Select ced_id, LOB_IND from CLIENT b where b.ced_id = '7905108';

    ced_id LOB_IND

    7905108 IS

    7905108 null

    7905108 null

    Select ced_id, LOB_IND from CLIENT b where b.ced_id = 7859659;

    ced_id LOB_IND

    7859659 null

    7859659 null

    so when writing of the main request, I took B.LOB_IND (+) = 'Y' condition, since I added this condition and catches of outer join.

    the ced_id for "7859659" is not coming in the query below.

    SELECT A.GCI, B.LOB_IND, B.CED_ID, C. LOB_DESCR OF CUSTOMER, CUSTOMER b, C from LOB

    WHERE A.PRIMARY_CED = B.CED_ID (+)

    AND B.LOB = C.LOB_DESCR (+)

    AND B.LOB_IND (+) = 'Y '.

    AND A.GCI IN

    (

    '339492963',

    '339850821');

    Output current:

    GCI LOB_IND CED_ID LOB_DESCR

    339850821 Y 7905108 banking services for businesses

    Null Null null 339492963

    Is it possible that the query can be modified to get the below output with CED_ID for B.LOB_IND-> case of Null.

    Power required:

    GCI LOB_IND LOB LOB_DESCR

    339850821 Y 7905108 banking services for businesses

    339492963 7859659

    Your entered very necessary.

    Thank you

    Be great if someone could have provide some suggestions.

    Use ANSI joins:

    SELECT A.GCI, B.LOB_IND,
    B.CED_ID,
    C.LOB_DESCR
    CUSTOMER A
    LEFT JOIN
    CLIENT b, C from LOB
    ON)
    A.GCI IN)
    '339492963',
    '339850821'
    )
    AND
    A.PRIMARY_CED = B.CED_ID
    AND
    B.LOB_IND = 'Y '.
    )
    LEFT JOIN
    C LOB
    ON)
    B.LOB = C.LOB_DESCR
    )
    /

    SY.

  • While problems brought together three tables in Oracle

    Hello

    I'm trying to join the three tables in Oracle, but get unexpected results. Here it is the situation.

    Table A has 10 rows and I want the line with Max date, table B has 20 rows and I want the line with Max date, so these 2 tables, I want 2 rows. Similarly, there are 10 tables with a huge amount of data.
    So I created another table called table key and extract the name of the Table, the Table key (common across all the tables and plan called of code) and entered into force (it is a date max)

    If key table now has a line of each table.

    When I joined the table a (E221), table B (E227) and key table with query below, it does not result in any line. Can you please on how it should be resolved. Here it is the data from 3 tables.

    Table A (E221)
    PLAN_CODE DATE CAR GRP
    12040005 19900801 1204 0005 20
    12040005 19850201 1204 0005 19
    12040005 19840801 1204 0005 20
    12040004 20080806 1204 0004 20
    12040004 20080804 1204 0004 20
    12040004 20070701 1204 0004 20
    12040004 20060101 1204 0004 20
    12040004 20020101 1204 0004 20
    12040004 20010730 1204 0004 20

    TABLE B (E227)

    12040005 19850201 1204 0005 0005
    12040005 19840801 1204 0005 0080
    12040004 20091001 1204 0004 6782
    12040004 20070901 1204 0004 6782
    12040004 20051101 1204 0004 6782

    Key table

    12040004 20080806 E221
    12040005 20080806 E221
    12040004 20091001 E227
    12040005 20091001 E227

    Query used
    SELECT E221.*,
    E227.*,
    KEY_PLAN_CODE.*
    OF E221
    JOIN INTERNAL KEY_PLAN_CODE
    ON KEY_PLAN_CODE. EC_PLAN_CD = E221. EC_PLAN_CD AND KEY_PLAN_CODE. MAX_EFF_DATE = E221.cg_cvr_BS_EFF_DT
    AND KEY_PLAN_CODE. EC_TRAN_CODE = E221. EC_TRAN_CODE
    JOIN IN-HOUSE E227
    ON (KEY_PLAN_CODE. EC_PLAN_CD = E227. EC_PLAN_CD
    AND E227. PLAN_EFF_DT = KEY_PLAN_CODE. MAX_EFF_DATE
    AND KEY_PLAN_CODE. EC_TRAN_CODE = E227. EC_TRAN_CODE)

    Any suggestions would be helpful.

    I'm still a little confused as to what should be returned.

    Your key table includes:
    12040004 20080806 E221
    12040005 20080806 E221
    12040004 20091001 E227
    12040005 20091001 E227

    I suppose you want returned:
    E221 line with plan_code 12040004 and the date 20080806
    E221 line with plan_code 12040005 and the date 12040004
    Line E227 with plan_code 12040004 and the date 20091001
    Line E227 with plan_code 12040005 and the date 20091001

    Your query returns original nothing because, for example, the line containing plan_code 12040004 and date 20080806 can does not match anything in the E227 table with this plan_code and the date.

    I think you are saying that what you want is, for each value of different plan_code, you want recording E221 corresponding to "E221" key_table folder with the date of the registration, and you also want to record E227 corresponding to "E227" key_table folder with the date of registration. I also guess that there must be a record E221 both INAT E227, otherwise nothing is returned for this plan_code.

    I suppose also that there is no record more "E221" and no more a 'E227' record in key_table for any value special plan_code.

    In this case, you want to do something like this:

    SELECT K.*, E221.*, E227.*
    FROM
    (
      SELECT k221.ec_plan_cd, k221.max_eff_date AS e221_date, k227.max_eff_date AS e227_date
      FROM key_plan_code k221
      JOIN key_plan_code K227
      ON k227.ec_plan_cd = k221.ec_plan_cd
      WHERE k221.ec_tran_code = 'E221'
      AND k227.ec_tran_code = 'E227'
    ) K
    INNER JOIN E221
    ON (E221.ec_plan_cd = K.ec_plan_code AND E221.cg_cvr_bs_eff_dt = K.max_eff_date)
    INNER JOIN E227
    ON (E227.ec_plan_cd = K.ec_plan_code AND E227.plan_eff_dt = K.max_eff_date)
    

    The subquery K Gets a line for each ec_plan_cd in key_plan_code with a record 'E221' and a «E227» folder

    I'm assuning ec_tran_code is the column of key_plan_code with 'E221' and 'E227. " If this is not the case, use the correct name.

    -Don

  • Mapping of 12 ODI is a failure loading the table to the table in oracle DB

    Hi Experts,

    I'm starting to ODI, attempts to load data from the Table to the Table in Oracle DB. Source table and target table are in the same PB in different schema

    I created my own work, also agent and master repository.

    Started with the agent, and I could see the status as Planner started for referential work * on Agent OracleDIAgent1.

    Created the agent in topology and successfully tested.

    Created data and connections physical schema of the source and target servers, Test connection is successful.

    Created the context and logical schema defined for the source and the target.

    Mapped to the corresponding physical schema context.

    Diagram logical and physical mapping is accomplished in the context.

    Created for source and target models, able to view the data in the source model.

    Created a simple map and put in source and target component context.

    LKM selected as LKM SQL for SQL

    Select IKM as IKM Oracle Insert.GLOBAL

    After execution, the mapping is a failure with the error below

    Drop table work - LKM SQL for SQL

    ODI-1222: start failure on agent edge internal: logical schema * is not found in the main repository.

    Create the table work - LKM SQL for SQL

    ODI-1222: start failure on agent edge internal: logical schema * is not found in the main repository.

    ODI-1222: start failure on agent edge internal: logical schema * is not found in the main repository.

    at oracle.odi.runtime.agent.execution.AbstractSessionTask.getSrcDataServer(AbstractSessionTask.java:1646)

    at oracle.odi.runtime.agent.execution.interpreter.SessionTaskCodeInterpreter.codeInterpretation(SessionTaskCodeInterpreter.java:132)

    at oracle.odi.runtime.agent.execution.interpreter.SessionTaskCodeInterpreter.codeInterpretation(SessionTaskCodeInterpreter.java:80)

    at oracle.odi.runtime.agent.execution.SessionTask.createTaskLog(SessionTask.java:324)

    at oracle.odi.runtime.agent.execution.AbstractSessionTask.execute(AbstractSessionTask.java:821)

    to oracle.odi.runtime.agent.execution.SessionExecutor$ SerialTrain.runTasks (SessionExecutor.java:2024)

    at oracle.odi.runtime.agent.execution.SessionExecutor.executeSession(SessionExecutor.java:562)

    to oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$ 1.doAction(TaskExecutorAgentRequestProcessor.java:718)

    to oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$ 1.doAction(TaskExecutorAgentRequestProcessor.java:611)

    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:203)

    at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.doProcessStartAgentTask(TaskExecutorAgentRequestProcessor.java:800)

    to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$ 1400 (StartSessRequestProcessor.java:74)

    to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$ StartSessTask.doExecute (StartSessRequestProcessor.java:702)

    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:180)

    to oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$ 2.run(DefaultAgentTaskExecutor.java:108)

    at java.lang.Thread.run(Thread.java:722)

    Please help me with the problem above,

    Thanks in advance.

    Kind regards

    Srikanth

    Hi Srikanth,

    It is usually better to create a separate scheme for the scheme of work, but you can keep the data and schema of work even. Also in your error log, the error should now be to the right of the IKM? No LKM. Try changing the logical schema name and see if it works.

    Thank you

    Ajay

  • How can I add data file to an existing table on Oracle RAC ASM with no OMF? Thank you!

    How can I add data file to an existing table on Oracle RAC ASM with no OMF? Thank you!

    Hello

    So I guess you have some files in ASM, see your first existing file structure

    Select file_name

    from dba_data_files;

    and to add to an existing table, the example below (even if you're better sticking with OMFs!)-is that what you are looking for?

    SQL > create tablespace TEST1

    2 datafile '+ DATA' size 1 M;

    Created tablespace.

    SQL > select file_name in dba_data_files;

    FILE_NAME

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

    +Data/orcl2/datafile/users.259.859820983

    +Data/orcl2/datafile/undotbs1.258.859820983

    +Data/orcl2/datafile/SYSAUX.257.859820983

    +Data/orcl2/datafile/system.256.859820981

    +Data/orcl2/datafile/example.269.859821049

    +Data/orcl2/datafile/Test1.271.859843053

    6 selected lines.

    SQL > alter tablespace TEST1

    2 Add datafile ' + DATA / mynewfile01.dbf ' size 2 m;

    Tablespace altered.

    SQL > select file_name in dba_data_files;

    FILE_NAME

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

    +Data/orcl2/datafile/users.259.859820983

    +Data/orcl2/datafile/undotbs1.258.859820983

    +Data/orcl2/datafile/SYSAUX.257.859820983

    +Data/orcl2/datafile/system.256.859820981

    +Data/orcl2/datafile/example.269.859821049

    +Data/orcl2/datafile/Test1.271.859843053

    + DATA / mynewfile01.dbf

    Thank you

  • Ongoing replication of the selected tables from Oracle to SQL Server

    Hi all

    How can we replicate selected tables to Oracle 11 g for SQL Server 2008/2012?

    Is GoldenGate the only option

    No matter who did it before or have the steps to do it?

    Thank you

    Define "replicate".

    If you have no budget, you can open a connection directly from SQL Server to Oracle, or vice versa. In Oracle, they are called links DB; in SQL Server, they are called "linked servers".

    Datanamic also have tools that claim to do the cross-DB replication. I have no experience with them and is not an endorsement - I know they exist.

  • Optimizer (?) excluded table join

    Hello

    I have a problem. We use 10.2.0.5.0 database. I discovered very weird behavior when running a very simple three-table join. I tried two forms of the same join. The first was:

    SELECT

    NVL(c.cen_za_ks,1) as a2,

    NVL(c.cen_za_kg,1) like a3

    Of

    vymenny_urad VIEW

    JOIN IN-HOUSE

    Krajina K ON vu.vymur_krj_id = K.KRJ_ID

    JOIN IN-HOUSE

    CENNIK_090 C ON C.CEN_KR_KOD = K.KRJ_KOD

    WHERE

    vu.vymur_id = AND c.cen_kategoria = 369 has '

    Execution plan for this selection is:

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

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

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

    |   0 | SELECT STATEMENT |                    |     4.    88.     5 (0) | 00:00:01 |

    |   1.  NESTED LOOPS |                    |     4.    88.     5 (0) | 00:00:01 |

    |*  2 |   INDEX UNIQUE SCAN | IX_PK_VYMENNY_URAD |     1.       |     1 (0) | 00:00:01 |

    |*  3 |   TABLE ACCESS FULL | CENNIK_090 |     4.    56.     3 (0) | 00:00:01 |

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

    Information descriptor (identified by the operation identity card):

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

    2 - access("VU".") VYMUR_ID "= 369)

    3 - filter("C".") CEN_KATEGORIA "(='D')"


    Thus, for specific settings, I had 8 rows


    If I added any column of krajina of table columns selected like this:


    SELECT

    krj_id,

    NVL(c.cen_za_ks,1) as a2,

    NVL(c.cen_za_kg,1) like a3

    Of

    vymenny_urad VIEW

    JOIN IN-HOUSE

    Krajina K ON vu.vymur_krj_id = K.KRJ_ID

    JOIN IN-HOUSE

    CENNIK_090 C ON C.CEN_KR_KOD = K.KRJ_KOD

    WHERE

    vu.vymur_id = AND c.cen_kategoria = 369 has '


    the execution plan has been changed to:


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

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

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

    |   0 | SELECT STATEMENT |                    |     1.    29.     6 (0). 00:00:01 |

    |   1.  NESTED LOOPS |                    |     1.    29.     6 (0). 00:00:01 |

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

    |*  3 |    TABLE ACCESS BY INDEX ROWID | VYMENNY_URAD |     1.     8.     2 (0) | 00:00:01 |

    |*  4 |     INDEX UNIQUE SCAN | IX_PK_VYMENNY_URAD |     1.       |     1 (0) | 00:00:01 |

    |   5.    TABLE ACCESS BY INDEX ROWID | KRAJINA |   244.  1708.     1 (0) | 00:00:01 |

    |*  6 |     INDEX UNIQUE SCAN | PK_KRAJINA |     1.       |     0 (0) | 00:00:01 |

    |*  7 |   TABLE ACCESS FULL | CENNIK_090 |     1.    14.     3 (0) | 00:00:01 |

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

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

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

    3 - filter("VU".") VYMUR_KRJ_ID"< 2147483648)

    4 - access("VU".") VYMUR_ID "= 369)

    6 - access("VU".") VYMUR_KRJ_ID '=' K '. ("' KRJ_ID")

    7 - filter("C".") CEN_KATEGORIA "= A"AND "C". ". CEN_KR_KOD '=' K '. ("' KRJ_KOD")

    and result set had only 2 rows, because of the restriction imposed by the table "krajina", which was not in the first case considered by the optimizer.

    Y at - it a reasonable explanation for this behavior? Have someone at - he found a reliable solution?

    Thanks for help

    Miro

    I received your email

    I saw something strange in the, but then realize that the elimination was logically invalid and created a simple demo.

    If you look at the two surviving tables SEPARATELY it seems reasonable to eliminate the krajina - but when you look at the other two tables at the same time you realize that you have a line in krajina which corresponds to a line in vymenny_urad but not in cennik_090 and a line that does the opposite. In this case, the other two lines survive when you eliminate the krajina, but they disappear if krajina is located in the middle of the join.

    The problem is solved by 11.1.0.7

    Concerning

    Jonathan Lewis

  • I want to know when we issue statement truncate table in oracle.

    I want to know when we issue statement truncate table in oracle. No newspaper will be write in the redo log. But we can recover data using flashback or SNA. I want to know where the actually truncate table statement log is stored in the oracle database. Please explain to me in detail step by step.

    >
    I understand your SNA. But I want to know where the truncate statement stored log. But in the redo log, no entry for truncate.but I want to go which connect there is no market value back...
    >
    If you are still wondering after getting the answer so you don't "understand".

    You have received the reply above. Archive of flashback stores data.

    See the link provided above to CREATE an ARCHIVE of FLASHBACK in the doc of SQL language
    http://docs.Oracle.com/CD/E11882_01/server.112/e26088/statements_5010.htm
    >
    TABLESPACE clause

    Specify the table space where the data archived for this flashback data archive referring to be stored. You can specify that a tablespace with this clause. However, you can then add tablespaces to archive flashback with a statement ALTER FLASHBACK ARCHIVE database.
    >
    The data is moved to storage of archives and restored from there when you query for archive flashback.

  • Save a table in Oracle R12

    Dear members,

    Are the steps to save a table in Oracle R12 is identical to the one off Oracle 11i?

    I want to say can we use the same ADD_DD package and record all custom tables and their corresponding columns?

    Can someone please shed some light on this.

    Thanks in advance.

    Yes - same as in 11i - pl see the documentation - http://docs.oracle.com/cd/E18727_01/doc.121/e12897/T302934T303920.htm#I_sx2Daoltabl

    HTH
    Srini

  • I am new to FDQM I need to connect from the table Source 'Oracle '...

    This is the first time for me to do this, you have any Document to the connection on the Source table in Oracle, to any table target using FDQM
    is it valid?
    If valid how can I make the integration with FDQM...?
    I called ODI,
    Can be defined from any source to any target,
    In FDQM I can set to take data from the Source of the table is Oracle to load in the EPM or any target system.

    Published by: Joe on December 10, 2011 19:52

    Please refer to paragraph "Example of Script integration" on page 200 of the FDQM 11.1.2 administration guide.
    This example connects to a SQL Server table (you may have to tweak it a little so you can connect to Oracle table), but the example can give you a good impression of what is necessary to establish a direct link.
    Kind regards
    Jeroen

  • difference in size of the Table in oracle and timesten

    Hi all


    I have a large table with 2 million records,

    I see no big difference in the size of the table in oracle and Timesten
    In oracle table size to 4 GB, but in Timesten is arround 15 GB (using ttSize for 2 M lines)

    Could you please tell me what could be the cause of this difference?
    Is the size of the table in Timesten is always more than oracle?
    What are the factors and parameters affecting the size of Perm?

    It is typical for the storage needs for a DataSet to be significantly larger in TimesTen in Oracle. This is due to the Organization of the very different internal storage in TT from Oracle; Oracle is optimized to save space while TT is optimized for performance.

    Ways to minimize these costs are:

    1. make sure you use TimesTen 11.2.1. This has some characteristics compare compact (minor) and earlier versions.

    2 assess the use of numeric types; native types TimesTen (TT_TINYINT, TT_SMALLINT, TT_INTEGER and TT_BIGINT) use less space than MANY and longer by the effective calculation as well.

    3. check use of data of variable length (VARCHAR2, VARBINARY, NVARCHAR) and the trade-offs between online and online storage (see documentation for the compromise between these options stirage TT).

    Even when you use the foregoing, you will still see a storage important "inflation" for TT from Oracle.

    Chris

  • What are the different types of tables in oracle - please help

    I want to know the different types of tables of orcle... Please help me

    There are seven types of tables in Oracle.

    1. organized bunch of tables
    2 index organized tables
    3 clustered index tables
    4 hash clustered tables
    5. nested tables
    6. global temporary tables
    7 tables of objects
    Source: http://www.adp-gmbh.ch/ora/concepts/tables.html

    But if you ask the types of tables in sense of the uses they are n types:
    1 step tables
    2. operational tables
    3. functional tables
    4. layout tables
    5 archive tables
    6. other tables
    Source: http://www.databasejournal.com/features/oracle/article.php/3616476/Types-of-Tables-in-Oracle.htm

    And of course, the full details can be found in the documentation.

    HTH
    Girish Sharma

  • table join question

    I have two tables joined via a pk/fk relationship. The main table has a field that indicates if a person entered the House (that's a request for home detention for minors) and to the left, or if it is still in the House.

    1 = entered and left, 0 = always in the House.

    The two tables are related through three fields (ID of the person, House ID, date of entry in the House)

    I need a query to retrieve the records that exist in table 1 (the master) but do not exist in table 2 (retail) for (young) people who are STILL in the House. I need the query to run on the House n ° 2.

    I tried a number of relationships to join, but none has been successful.

    Any ideas on how to write this request will be appreciated.

    The next time after table descriptions...

    I think you're asking something like that:

    select pt.*
    from parent_table pt
    where pt.field = 0
      and pt.home = 2
      and not exists
      (select 'a child row for this parent row'
       from child_table ct
       where ct.person = pt.person
         and ct.home = pt.home
         and ct.entry_date = pt.entry_date);
    
  • export table from oracle 10g with oracle 8i exp utlity

    Hello

    I export table from oracle 10g with oracle 8i exp the binaries:
    bash-2.05$ exp pin/pin file=prakash.dmp tables=prakash@APPSDB
    
    Export: Release 8.1.7.0.0 - Production on Tue Aug 4 09:58:18 2009
    
    (c) Copyright 2000 Oracle Corporation.  All rights reserved.
    
    
    Connected to: Oracle8i Enterprise Edition Release 8.1.7.0.0 - 64bit Production
    With the Partitioning option
    JServer Release 8.1.7.0.0 - 64bit Production
    Export done in UTF8 character set and UTF8 NCHAR character set
    
    About to export specified tables via Conventional Path ...
    EXP-00011: PIN.PRAKASH@APPSDB does not exist
    Export terminated successfully with warnings.
    I can't please inputs appreciated.

    axis/axis here is the user and pwd to oracle 8i
    Prakash is the name of a table in oracle 10g

    appsdb is the link of database

    Thank you

    Prakash GR

    axis/axis here is the user and pwd to oracle 8i

    Prakash is the name of a table in oracle 10g >

    To export the database 10g PRAKASH table, use the 8i export utility.

    log tables = prakash.log file = prakash.dmp exp = feedback = 100000 PRAKASH

    Who is the owner of the table? You have the TNS entry for the 10g database in your NET80 folder. If this isn't the case, then put an entry in there. Then, when you are prompted for the user name

    username:newcolsys@tns_alias/password

    HTH
    Anand

  • is that we can transform a GML table with oracle 11g?

    I have a project with GML and this is the first time that I work with.
    I just need to know if I can transform a normal table with oracle of GML.

    I found that we can do this with xml using the simple features sql example:

    SQL:
    SELECT XMLElement (name 'Department',
    XMLAttributes (deptno),
    XMLAgg (XMLElement (name"employee", ename))) .getStringVal () as a RESULT
    FROM scott.emp
    GROUP BY deptno;

    result:
    < Department deptno '34' = >
    ename < employee > < / employee >
    < / Department >

    < Department deptno = "35" >
    ename1 < employee > < / employee >
    < / Department >...

    We can do something like this with oracle11g for GML instead of XML (when we have spatial data).

    I hope that you have the answer or a reference that can help.
    Thank you
    Best regards

    Hi, -.

    We have the following conversion functions of GML and KML to/from SDO_GEOMETRY.
    We both support GML2 and GML 3.1.1:

    In 11.1.0.7, you will find the following functions:

    SDO_UTIL. FROM_GML311GEOMETRY: Converts a fragment of geography markup language (GML 3.1.1) a spatial geometry.
    SDO_UTIL. FROM_GMLGEOMETRY: Converts a fragment of geography markup language (GML 2.0) a spatial geometry.
    SDO_UTIL. FROM_KMLGEOMETRY: Converts a KML (Keyhole Markup Language) of a Spatial geometry object document.

    SDO_UTIL. TO_GML311GEOMETRY: Converts an object of spatial geometry to a fragment of language (GML version 3.1.1) geography markup based on the geometry types defined in the schema geometry.xsd Open GIS Consortium document.
    SDO_UTIL. TO_GMLGEOMETRY: Converts an object of spatial geometry a geography markup language (GML 2.0) fragment based on the geometry types defined in the schema geometry.xsd Open GIS Consortium document.
    SDO_UTIL. TO_KMLGEOMETRY: Converts a Spatial geometry object to a KML (Keyhole Markup Language) document.

    See also User Guide Pro Oracle Spatial and Oracle Spatial for book of 11g Oracle database for more details and examples.

    Please let us know if you have any other questions. We will be happy to help you.

    I hope this helps.
    Best regards
    Baris

Maybe you are looking for