Database-Table parent-child design

Hi all,
Which (forum) does this master-detail table design question belongs to or appropriate to post to?
I have 3 basic entities> servers, databases, and apps
example:
servers=server1,server2,server3,etc
database=PROD1,DEV1,TEST1,etc
apps=GL,FA,AP,AR,INV,HR,etc
In every server there are many database type (dev,prod,test,prod1, prod2,etc)
In every apps there are many database type too (dev,prod,test,prod1, prod2,etc)
So databases are children of both servers and apps?
To which parents does this "children" database legally belong?
Thanks

Hi;
Which (forum) does this master-detail table design question belongs to or appropriate to post to?
I have 3 basic entities> servers, databases, and apps
example:
servers=server1,server2,server3,etc
database=PROD1,DEV1,TEST1,etc
apps=GL,FA,AP,AR,INV,HR,etcFrom your post i got you have EBS. What is your EBS version? By the way its more effecient to close your thread here as answered and move your issue to Forum Home » E-Business Suite » EBS General Discussion
In every server there are many database type (dev,prod,test,prod1, prod2,etc)It possible, i mean on same server you could have EBS's database like dev,prod and also can have oracle database which is not belong any EBS system like sid ORCL
In every apps there are many database type too (dev,prod,test,prod1, prod2,etc)I belive this is wrong, One EBS has one Database but it doesnt mean that database need extra data from other source which is using ETL etc. So your EBS db always parent and get data from child, and also that main db can update information which is exist on child
You could have one PROD and can clone it as CLON so those 2 instance have actualy same data and same proporties, we cant say those dbs has parent-child relation. But we can say CLON ebs produced by PROD instance
Regard
Helios

Similar Messages

  • Hierarchy Table - Parent/Child Value Pairs w/o Node Name

    Hi,
      Has any body worked with below senario to create a Hierarchy table through Import Manager. If so how did you do it? I followed and sucessfull with some senario's by refering the blog "MDM Import Manager: handling multiple formats of source data for hierarchy" by pandey but not with this one. This scenair is actually from help.sap.com
    Parent           Category
               Printers
    Printers      Laser
    Printers      Inkjet
    Inkjet           B&W
    Inkjet           Color
    Printers      Dot Matrix
    Dot Matrix      300 DPI
    Dot Matrix      600 DPI
    Dot Matrix      1200 DPI
    Edited by: SDN POWERED on Jun 7, 2009 8:59 PM

    Hi SDN Powered,
    For Hierarchy Table - Parent/Child Value Pairs w/o Node Name just do as follows:
    1) In the Source Hierarchy tree, select the Parent and Child field nodes which you want to use to build hierarchy.
    2) Right-click on one of the nodes and choose Create Hierarchy Field from the context menu, or choose Source > Create Hierarchy Field from the main menu.
    3) MDM opens the Create Hierarchy Field dialog box. This dialog box contains 4 feilds, viz Hierarchy Field Name, Parent Field, Child Field, and Node Name Field. In the Hierarchy Field Name, type the name for the new field.In the Parent Field, Child Field. For Parent/Child Value Pairs w/o Node Name , set the Node Name Field to None.
    4) Click OK to close the Create Hierarchy Field dialog box. The MDM Import Manager creates Hierarchy using the values you have provided.
    I hope I am able to solve your problem.
    Thanks & Regards
    Dilmit Chadha

  • Dimension tables - parent child or hierarchical

    The data I m dealing with is structured as follow. 
    A customer has many stores and each store has a POSSystem.
    Customer
      Stores
         POSSystem
    So now when I create Dimensions, will I create as: 
    TableName                       Cols
    DimCustomer                  CustKey
    DimStores                      StoreKey, CustKey
    DimPOS                         POSKey, StoreKey, CustKey
    Are these Hierarchical or Parent Child?
    Now when I will create Fact table, will I have:
    TableName                       Cols
    Sample1: DimFactPOS      CustKey,POSKey,StoreKey, #trans
    OR
    Sample2: DimFactPOS      POSKey, #trans
    If I do sample1, then why do I keep "StoreKey, CustKey" in DimPOS? 

    From your question, I can assume that you have beginners knowledge in Data modeling and Data Warehousing. 
    Let me elaborate it and dilute your confusion. 
    You have designed
    Star Schema; basic intention for having star schema is to have normalized fact tables and de-normalized dimension tables. 
    Reason you are creating three dimension (i.e. DimCustomer, DimStores and DimPOS) here because you must have many-to-one referential integrity between each level. You can google about Hierarchies,
    Levels and Level relationships to get insight information about it. 
    Keeping normalize data in dimensions and keeping keys in fact table is a business decision. To which level you want to show the aggregated data? You
    need to define granuality level based on business needs.
    As in star schema, there is 1 fact table related to different dimensions. If I sub divide your assumption, Sample 1 represents
    Data Mart and Sample 2 represents Data Warehouse.
    I hope it will help you in understanding basic concepts.

  • Database Polling: Parent-Child Relation

    Hi all,
    We are experiencing problem while picking multiple records from child table while polling from the database.
    Summary:
    Parent table: Temp1 : Columns- Id,Name,Status
    Child Table: Temp2 : Columns- Id,Item
    Now lets say data present in table are
    Temp1 Table :- 1,'abhi','N'
    Temp2 Table :- 1,'pen'
    1,'pencil'
    I have used 1:M Relationship. I have kept a polling on parent table for column status. (Logical Delete)
    Problem:
    Now what is happening is that, from Child Table (Temp2) only first record got picked up 2 times..and record from Temp1 Table was being picked correctly.....
    Can anybody help me how to resolve this issues....its bit urgent.
    Thanks in advance.
    Thanks,
    Abhishek

    Hi sunil,
    Thanks for the reply. Relationship defined was correct.
    I got the solution for this problem. Actually the primary key on child table was not set correctly. For such scenarios we need to have composite key on child table. when I make that, it started working.
    Note that the composite key value has to be unique in the childs table.
    Wow!!!
    Thanks,
    Abhishek...
    Edited by: Abhishek saurabh on Jul 31, 2009 8:14 PM

  • Trigger & Mutating Tables (Parent-Child relationship, Referencing Constraint related)

    Dear Sir,
    Wish you a very Happy New Year !!!
    I am facing a problem related to Database Trigger.
    Sir, I have two tables Cust and Sick.
    Cust is having the following fields :
    SDF_CUST_BRCD NOT NULL NUMBER(5)
    CUST_CUSTID NOT NULL VARCHAR2(6)
    UCD_CUST_SEGMENTCODE NOT NULL VARCHAR2(7)
    CUST_FIRSTBORROWER NOT NULL VARCHAR2(30)
    UCD_CUST_CONSTORGCODE NOT NULL VARCHAR2(7)
    VLGC_CUST_VILLAGECODE VARCHAR2(4)
    CUST_PAN VARCHAR2(20)
    UCD_CUST_STAFFCODE VARCHAR2(7)
    CUST_RESIDENTSTATFLAG VARCHAR2(1)
    CUST_BKGSINCEDATE DATE
    UCD_CUST_SICKUNITCODE VARCHAR2(7)
    Cust's Primary Key is the combination of Brcd, CustId
    And Sick Table Structure is as under :
    PRDT_SICK_REPORTDATE NOT NULL DATE
    CUST_SICK_BRCD NOT NULL NUMBER(5)
    CUST_SICK_CUSTID NOT NULL VARCHAR2(6)
    UCD_SICK_REASONCODE NOT NULL VARCHAR2(7)
    SICK_SINCEDATE NOT NULL DATE
    SICK_LOSSMAKINGDATE DATE
    SICK_ACCMLOSSAMT NUMBER(16,2)
    UCD_SICK_VIABILITYCODE NOT NULL VARCHAR2(7)
    UCD_BIFR_STATUS_CODE VARCHAR2(7)
    SICK_BIFRDATE DATE
    SICK_REHABSANCDATE DATE
    CUST_SICK_SICKUNITCODE VARCHAR2(7)
    Sick's Primary Key is the combination of ReportDate, BrCD, Custid
    Sick's (Brcd and Custid) referencing to Cust (BrCd, CustId).
    I want to insert/update into the sick table corrponding to Cust
    Insertion/Updation.
    I have written a trigger on Cust which is working fine provided
    that foreign key constraint
    is diabled. As soon as constraint is enabled the trigger is
    giving error
    ORA-04091: table CIS.CUST is mutating, trigger/function may not
    see it
    Sir, It is also working fine if the record is already exist in
    Sick table.
    Is is not working in 2 cases :
    1. While entering a new record into the Cust with
    SICKUNIT_CODE='SW00001'
    2. If we are changing the SickUnit_Code in Cust and correponding
    record doesn't exist in Sick.
    Please write me the solution.
    Thanking you
    yours sincerely
    Rajesh Kumar Jain
    Trigger Text is
    create or replace trigger tr_cust_sick
    after insert or update on Cust for each row
    declare
    Fn_Return boolean;
    Tr_Exception Exception;
    begin
    Fn_Return := Fn_cust_sick
    (:new.UCD_CUST_SICKUNITCODE,:new.SDF_CUST_BRCD,:new.CUST_CUSTID,I
    NSERTING,UPDATING,DELETING);
    If Not Fn_Return then
    Raise Tr_Exception;
    End if;
    exception
    when Tr_Exception then
    Dbms_output.put_line('Tr_Exception ' ||Sqlerrm);
    When others then
    Dbms_output.put_line(Sqlerrm);
    end;
    Function Text is :
    $$$$$$$$$
    create or replace function fn_cust_sick
    (SickUnitCode_in In Cust.Ucd_Cust_SickunitCode%Type,Brcd_in In
    Sdf.Sdf_Brcd%Type,Custid_in In Cust.Cust_Custid%
    Type,Inserting_in In Boolean ,Updating_in In Boolean,Deleting_in
    In Boolean)
    return boolean is
    ddate date default '01-Jul-1955';
    repdate ppar.ppar_reportdate%type default '31-Mar-2001';
    viabcode sick.ucd_sick_viabilitycode%type default 'VI00000';
    ReasonCD sick.ucd_sick_reasoncode%type default 'SK00000';
    Ret_Flag Boolean := False;
    begin
    if Updating_in then
    begin
    update sick
    set CUST_SICK_SICKUNITCODE = SickUnitCode_in
    where prdt_sick_reportdate = repdate and
    cust_sick_brcd = Brcd_in and
    Cust_Sick_CustId = Custid_in;
         Ret_Flag := True;
    if sql%notfound then
    if To_Number(Substr(SickUnitCode_in,3)) > 0 then
    insert into sick
    (PRDT_SICK_REPORTDATE,
    CUST_SICK_BRCD,
    CUST_SICK_CUSTID,
    UCD_SICK_REASONCODE,
    SICK_SINCEDATE,
    UCD_SICK_VIABILITYCODE,
    CUST_SICK_SICKUNITCODE,
              SUBO_SICK_SICKBORRCODE)
    values
    (repdate,
    Brcd_in,
    Custid_in,
    reasoncd,
    ddate,
    viabcode,
    SickUnitCode_in,
              'SB00001');
    Ret_Flag := True;
         Return(Ret_Flag);
         end if;
    end if;
    exception
    when others then
    dbms_output.put_line('Exception Update '|| Sqlerrm);
    return(Ret_Flag);
    end;
    elsif Inserting_in then
    begin
    if To_Number(Substr(SickUnitCode_in,3)) > 0 then
    insert into sick
    (PRDT_SICK_REPORTDATE,
    CUST_SICK_BRCD,
    CUST_SICK_CUSTID,
    UCD_SICK_REASONCODE,
    SICK_SINCEDATE,
    UCD_SICK_VIABILITYCODE,
    CUST_SICK_SICKUNITCODE,
              SUBO_SICK_SICKBORRCODE)
    values
    (repdate,
    Brcd_in,
    Custid_in,
    reasoncd,
    ddate,
    viabcode,
    SickUnitCode_in,
              'SB00001');
    Ret_Flag := True;
    end if;
         Return(Ret_Flag);
    exception
    when others then
    dbms_output.put_line('Exception Insert '|| Sqlerrm);
    return(Ret_Flag);
    end;
    end if;
    return(Ret_Flag);
    exception
    when Others then
    dbms_output.put_line('Main Exception '|| Sqlerrm);
    return(Ret_Flag);
    end;
    $$$$$$$$$$$

    Hi,
    double click the Application Module to open the AM editor. Select the data Model category. On the right hand side you see what is selected for use in an application, on the left hand side is what you have available as View Object. To create T1-->T2-->T3, you
    - Select T1 and move it to the right
    - Select T2 under T1 on the left and move it to the right under T1
    - Select T3 under T2 on the left and move it under T2 in T1 on the right
    Frank

  • Database Table Resource - What does it actually do?

    Hi,
    I want to know what it actually means to grant a database table as a resource to a user in IDM.
    For E.g.: When I provision a NT resource to a user using IDM, it means that a Windows NT account is created for that user.
    However, when I assign a Database table as a resource for a user of IDM, it does not create a user account for that user.
    I am using mySql, and I have assigned a DB table as a resource for a new account. However, I find that such a user is not created in mySql. What does that mean? How then does this user access that database table?
    I was under the impression that a user account would be created in mySql having privileges for that table. In effect, a SQL statement like "Grant all privileges on <tablename> to <username> ".
    Thanks in advance.

    If you want to create or edit mysql users, you would use the MYSQL resource adapter, not the Database Table adapter. The database table adapter is designed to manage rows of a table within the database. Neither allow arbitrary SQL to be excuted, but you could make SQL calls via express in your form or workflow.

  • Parent-Child Join on tables in Database Adapter

    Hi,
    We are doing a join on two tables(T1 and T2) in Database adapter for an Insert operation. There is no Reference Integrity between these two tables in Database, but join is done through bpel database adapter.
    Here is a scenario - when we try to insert a record(parent-child), into these two tables, If there is any data issue in any of the child record, Adapter inserts parent-record, also inserts few child-records it processed before it encountered this data issue and terminates.
    Issue here is , We want this to be transactional, it means, If any of the child record fails adapter should rollback the entire insert operation both from parent and child tables and exit with an error. Instead BPEL inserting half records into child table.
    Is there any parameter I need to set or am I missing anything? Someone please suggest.
    Thanks,
    Phani

    There are a few options I guess.
    1. Add the referential key constraint.
    2. Add custom logic in your BPEL project to compensate for any errors you encounter in your BPEL processes.

  • Dynamic hierarchy in parent child hierarchy table??

    Do you have any experience to handle the requirement of dynamic hierarchy in universe/webi?
    We have some data in parent child hierarchy as below u201CCustomeru201D table.
    Customer
    Parent          Child
    Z                  A
    Z                  B
    A                  AA
    B                  BB
    AA               AAA
    For example, Company Z is the parent company of Company A.
    Another table, Amount is the amount value of different Customers.
    Amount
    ID               Amt
    AA               10
    AAA            1
    BB                2
    Is there any functionality in Universe designer to build related Classes and objects, So that the web intelligence documents represent the following report with the drilling results?
    When we want to see the ID and Amt, the expected result should be:
    Z                13
    when we drill down Z
    the result should be:
    A                11
    B                2
    when we drill down A:
    the result should be:
    AA              11
    notes **
    the level of hierarchy is dynamic
    Any suggestion is appreciated.  Thanks.

    Hi,
    The only way to do it is to create recursive derived table that flatten you parent child hierarchy with a given maximum depth.
    Here is a sample I built a long time ago to flatten a parent-child hierarchy on Employees table in Foodmart database (SQL Server).
    Didier
    SELECT DISTINCT
         Z.employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         A.supervisor_id_2,
         A.employee_id_2,
         A.full_name_2,
         A.supervisor_id_3,
         A.employee_id_3,
         A.full_name_3,
         A.supervisor_id_4,
         A.employee_id_4,
         A.full_name_4,
         A.supervisor_id_5,
         A.employee_id_5,
         A.full_name_5,
         A.supervisor_id_6,
         A.employee_id_6,
         A.full_name_6,
         Z.supervisor_id AS supervisor_id_7,
         Z.employee_id AS employee_id_7,
         Z.full_name AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              A.supervisor_id_1,
              A.employee_id_1,
              A.full_name_1,
              A.supervisor_id_2,
              A.employee_id_2,
              A.full_name_2,
              A.supervisor_id_3,
              A.employee_id_3,
              A.full_name_3,
              A.supervisor_id_4,
              A.employee_id_4,
              A.full_name_4,
              A.supervisor_id_5,
              A.employee_id_5,
              A.full_name_5,
              Z.supervisor_id AS supervisor_id_6,
              Z.employee_id AS employee_id_6,
              Z.full_name AS full_name_6
         FROM employee Z,
              SELECT DISTINCT
                   A.supervisor_id_1,
                   A.employee_id_1,
                   A.full_name_1,
                   A.supervisor_id_2,
                   A.employee_id_2,
                   A.full_name_2,
                   A.supervisor_id_3,
                   A.employee_id_3,
                   A.full_name_3,
                   A.supervisor_id_4,
                   A.employee_id_4,
                   A.full_name_4,
                   Z.supervisor_id AS supervisor_id_5,
                   Z.employee_id AS employee_id_5,
                   Z.full_name AS full_name_5
              FROM employee Z,
                   SELECT DISTINCT
                        A.supervisor_id_1,
                        A.employee_id_1,
                        A.full_name_1,
                        A.supervisor_id_2,
                        A.employee_id_2,
                        A.full_name_2,
                        A.supervisor_id_3,
                        A.employee_id_3,
                        A.full_name_3,
                        Z.supervisor_id AS supervisor_id_4,
                        Z.employee_id AS employee_id_4,
                        Z.full_name AS full_name_4
                   FROM employee Z,
                        SELECT DISTINCT
                             A.supervisor_id_1,
                             A.employee_id_1,
                             A.full_name_1,
                             A.supervisor_id_2,
                             A.employee_id_2,
                             A.full_name_2,
                             Z.supervisor_id AS supervisor_id_3,
                             Z.employee_id AS employee_id_3,
                             Z.full_name AS full_name_3
                        FROM employee Z,
                             SELECT DISTINCT
                                  A.supervisor_id_1,
                                  A.employee_id_1,
                                  A.full_name_1,
                                  Z.supervisor_id AS supervisor_id_2,
                                  Z.employee_id AS employee_id_2,
                                  Z.full_name AS full_name_2
                             FROM employee Z,
                                  SELECT DISTINCT
                                       supervisor_id AS supervisor_id_1,
                                       employee_id AS employee_id_1,
                                       full_name AS full_name_1
                                   FROM employee
                                   WHERE supervisor_id = 0 OR supervisor_id IS NULL
                             ) A
                             WHERE A.employee_id_1 = Z.supervisor_id
                        ) A
                        WHERE A.employee_id_2 = Z.supervisor_id
                   ) A
                   WHERE A.employee_id_3 = Z.supervisor_id
              ) A
              WHERE A.employee_id_4 = Z.supervisor_id
         ) A
         WHERE A.employee_id_5 = Z.supervisor_id
    ) A
    WHERE A.employee_id_6 = Z.supervisor_id
    UNION
    SELECT DISTINCT
         A.employee_id_6 AS employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         A.supervisor_id_2,
         A.employee_id_2,
         A.full_name_2,
         A.supervisor_id_3,
         A.employee_id_3,
         A.full_name_3,
         A.supervisor_id_4,
         A.employee_id_4,
         A.full_name_4,
         A.supervisor_id_5,
         A.employee_id_5,
         A.full_name_5,
         A.supervisor_id_6,
         A.employee_id_6,
         A.full_name_6,
         NULL AS supervisor_id_7,
         NULL AS employee_id_7,
         NULL AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              A.supervisor_id_1,
              A.employee_id_1,
              A.full_name_1,
              A.supervisor_id_2,
              A.employee_id_2,
              A.full_name_2,
              A.supervisor_id_3,
              A.employee_id_3,
              A.full_name_3,
              A.supervisor_id_4,
              A.employee_id_4,
              A.full_name_4,
              A.supervisor_id_5,
              A.employee_id_5,
              A.full_name_5,
              Z.supervisor_id AS supervisor_id_6,
              Z.employee_id AS employee_id_6,
              Z.full_name AS full_name_6
         FROM employee Z,
              SELECT DISTINCT
                   A.supervisor_id_1,
                   A.employee_id_1,
                   A.full_name_1,
                   A.supervisor_id_2,
                   A.employee_id_2,
                   A.full_name_2,
                   A.supervisor_id_3,
                   A.employee_id_3,
                   A.full_name_3,
                   A.supervisor_id_4,
                   A.employee_id_4,
                   A.full_name_4,
                   Z.supervisor_id AS supervisor_id_5,
                   Z.employee_id AS employee_id_5,
                   Z.full_name AS full_name_5
              FROM employee Z,
                   SELECT DISTINCT
                        A.supervisor_id_1,
                        A.employee_id_1,
                        A.full_name_1,
                        A.supervisor_id_2,
                        A.employee_id_2,
                        A.full_name_2,
                        A.supervisor_id_3,
                        A.employee_id_3,
                        A.full_name_3,
                        Z.supervisor_id AS supervisor_id_4,
                        Z.employee_id AS employee_id_4,
                        Z.full_name AS full_name_4
                   FROM employee Z,
                        SELECT DISTINCT
                             A.supervisor_id_1,
                             A.employee_id_1,
                             A.full_name_1,
                             A.supervisor_id_2,
                             A.employee_id_2,
                             A.full_name_2,
                             Z.supervisor_id AS supervisor_id_3,
                             Z.employee_id AS employee_id_3,
                             Z.full_name AS full_name_3
                        FROM employee Z,
                             SELECT DISTINCT
                                  A.supervisor_id_1,
                                  A.employee_id_1,
                                  A.full_name_1,
                                  Z.supervisor_id AS supervisor_id_2,
                                  Z.employee_id AS employee_id_2,
                                  Z.full_name AS full_name_2
                             FROM employee Z,
                                  SELECT DISTINCT
                                       supervisor_id AS supervisor_id_1,
                                       employee_id AS employee_id_1,
                                       full_name AS full_name_1
                                   FROM employee
                                   WHERE supervisor_id = 0 OR supervisor_id IS NULL
                             ) A
                             WHERE A.employee_id_1 = Z.supervisor_id
                        ) A
                        WHERE A.employee_id_2 = Z.supervisor_id
                   ) A
                   WHERE A.employee_id_3 = Z.supervisor_id
              ) A
              WHERE A.employee_id_4 = Z.supervisor_id
         ) A
         WHERE A.employee_id_5 = Z.supervisor_id
    ) A
    UNION
    SELECT DISTINCT
         A.employee_id_5 AS employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         A.supervisor_id_2,
         A.employee_id_2,
         A.full_name_2,
         A.supervisor_id_3,
         A.employee_id_3,
         A.full_name_3,
         A.supervisor_id_4,
         A.employee_id_4,
         A.full_name_4,
         A.supervisor_id_5,
         A.employee_id_5,
         A.full_name_5,
         NULL AS supervisor_id_6,
         NULL AS employee_id_6,
         NULL AS full_name_6,
         NULL AS supervisor_id_7,
         NULL AS employee_id_7,
         NULL AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              A.supervisor_id_1,
              A.employee_id_1,
              A.full_name_1,
              A.supervisor_id_2,
              A.employee_id_2,
              A.full_name_2,
              A.supervisor_id_3,
              A.employee_id_3,
              A.full_name_3,
              A.supervisor_id_4,
              A.employee_id_4,
              A.full_name_4,
              Z.supervisor_id AS supervisor_id_5,
              Z.employee_id AS employee_id_5,
              Z.full_name AS full_name_5
         FROM employee Z,
              SELECT DISTINCT
                   A.supervisor_id_1,
                   A.employee_id_1,
                   A.full_name_1,
                   A.supervisor_id_2,
                   A.employee_id_2,
                   A.full_name_2,
                   A.supervisor_id_3,
                   A.employee_id_3,
                   A.full_name_3,
                   Z.supervisor_id AS supervisor_id_4,
                   Z.employee_id AS employee_id_4,
                   Z.full_name AS full_name_4
              FROM employee Z,
                   SELECT DISTINCT
                        A.supervisor_id_1,
                        A.employee_id_1,
                        A.full_name_1,
                        A.supervisor_id_2,
                        A.employee_id_2,
                        A.full_name_2,
                        Z.supervisor_id AS supervisor_id_3,
                        Z.employee_id AS employee_id_3,
                        Z.full_name AS full_name_3
                   FROM employee Z,
                        SELECT DISTINCT
                             A.supervisor_id_1,
                             A.employee_id_1,
                             A.full_name_1,
                             Z.supervisor_id AS supervisor_id_2,
                             Z.employee_id AS employee_id_2,
                             Z.full_name AS full_name_2
                        FROM employee Z,
                             SELECT DISTINCT
                                  supervisor_id AS supervisor_id_1,
                                  employee_id AS employee_id_1,
                                  full_name AS full_name_1
                              FROM employee
                              WHERE supervisor_id = 0 OR supervisor_id IS NULL
                        ) A
                        WHERE A.employee_id_1 = Z.supervisor_id
                   ) A
                   WHERE A.employee_id_2 = Z.supervisor_id
              ) A
              WHERE A.employee_id_3 = Z.supervisor_id
         ) A
         WHERE A.employee_id_4 = Z.supervisor_id
    ) A
    UNION
    SELECT DISTINCT
         A.employee_id_4 AS employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         A.supervisor_id_2,
         A.employee_id_2,
         A.full_name_2,
         A.supervisor_id_3,
         A.employee_id_3,
         A.full_name_3,
         A.supervisor_id_4,
         A.employee_id_4,
         A.full_name_4,
         NULL AS supervisor_id_5,
         NULL AS employee_id_5,
         NULL AS full_name_5,
         NULL AS supervisor_id_6,
         NULL AS employee_id_6,
         NULL AS full_name_6,
         NULL AS supervisor_id_7,
         NULL AS employee_id_7,
         NULL AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              A.supervisor_id_1,
              A.employee_id_1,
              A.full_name_1,
              A.supervisor_id_2,
              A.employee_id_2,
              A.full_name_2,
              A.supervisor_id_3,
              A.employee_id_3,
              A.full_name_3,
              Z.supervisor_id AS supervisor_id_4,
              Z.employee_id AS employee_id_4,
              Z.full_name AS full_name_4
         FROM employee Z,
              SELECT DISTINCT
                   A.supervisor_id_1,
                   A.employee_id_1,
                   A.full_name_1,
                   A.supervisor_id_2,
                   A.employee_id_2,
                   A.full_name_2,
                   Z.supervisor_id AS supervisor_id_3,
                   Z.employee_id AS employee_id_3,
                   Z.full_name AS full_name_3
              FROM employee Z,
                   SELECT DISTINCT
                        A.supervisor_id_1,
                        A.employee_id_1,
                        A.full_name_1,
                        Z.supervisor_id AS supervisor_id_2,
                        Z.employee_id AS employee_id_2,
                        Z.full_name AS full_name_2
                   FROM employee Z,
                        SELECT DISTINCT
                             supervisor_id AS supervisor_id_1,
                             employee_id AS employee_id_1,
                             full_name AS full_name_1
                         FROM employee
                         WHERE supervisor_id = 0 OR supervisor_id IS NULL
                   ) A
                   WHERE A.employee_id_1 = Z.supervisor_id
              ) A
              WHERE A.employee_id_2 = Z.supervisor_id
         ) A
         WHERE A.employee_id_3 = Z.supervisor_id
    ) A
    UNION
    SELECT DISTINCT
         A.employee_id_3 AS employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         A.supervisor_id_2,
         A.employee_id_2,
         A.full_name_2,
         A.supervisor_id_3,
         A.employee_id_3,
         A.full_name_3,
         NULL AS supervisor_id_4,
         NULL AS employee_id_4,
         NULL AS full_name_4,
         NULL AS supervisor_id_5,
         NULL AS employee_id_5,
         NULL AS full_name_5,
         NULL AS supervisor_id_6,
         NULL AS employee_id_6,
         NULL AS full_name_6,
         NULL AS supervisor_id_7,
         NULL AS employee_id_7,
         NULL AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              A.supervisor_id_1,
              A.employee_id_1,
              A.full_name_1,
              A.supervisor_id_2,
              A.employee_id_2,
              A.full_name_2,
              Z.supervisor_id AS supervisor_id_3,
              Z.employee_id AS employee_id_3,
              Z.full_name AS full_name_3
         FROM employee Z,
              SELECT DISTINCT
                   A.supervisor_id_1,
                   A.employee_id_1,
                   A.full_name_1,
                   Z.supervisor_id AS supervisor_id_2,
                   Z.employee_id AS employee_id_2,
                   Z.full_name AS full_name_2
              FROM employee Z,
                   SELECT DISTINCT
                        supervisor_id AS supervisor_id_1,
                        employee_id AS employee_id_1,
                        full_name AS full_name_1
                    FROM employee
                    WHERE supervisor_id = 0 OR supervisor_id IS NULL
              ) A
              WHERE A.employee_id_1 = Z.supervisor_id
         ) A
         WHERE A.employee_id_2 = Z.supervisor_id
    ) A
    UNION
    SELECT DISTINCT
         A.employee_id_2 AS employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         A.supervisor_id_2,
         A.employee_id_2,
         A.full_name_2,
         NULL AS supervisor_id_3,
         NULL AS employee_id_3,
         NULL AS full_name_3,
         NULL AS supervisor_id_4,
         NULL AS employee_id_4,
         NULL AS full_name_4,
         NULL AS supervisor_id_5,
         NULL AS employee_id_5,
         NULL AS full_name_5,
         NULL AS supervisor_id_6,
         NULL AS employee_id_6,
         NULL AS full_name_6,
         NULL AS supervisor_id_7,
         NULL AS employee_id_7,
         NULL AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              A.supervisor_id_1,
              A.employee_id_1,
              A.full_name_1,
              Z.supervisor_id AS supervisor_id_2,
              Z.employee_id AS employee_id_2,
              Z.full_name AS full_name_2
         FROM employee Z,
              SELECT DISTINCT
                   supervisor_id AS supervisor_id_1,
                   employee_id AS employee_id_1,
                   full_name AS full_name_1
               FROM employee
               WHERE supervisor_id = 0 OR supervisor_id IS NULL
         ) A
         WHERE A.employee_id_1 = Z.supervisor_id
    ) A
    UNION
    SELECT DISTINCT
         A.employee_id_1 AS employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         NULL AS supervisor_id_2,
         NULL AS employee_id_2,
         NULL AS full_name_2,
         NULL AS supervisor_id_3,
         NULL AS employee_id_3,
         NULL AS full_name_3,
         NULL AS supervisor_id_4,
         NULL AS employee_id_4,
         NULL AS full_name_4,
         NULL AS supervisor_id_5,
         NULL AS employee_id_5,
         NULL AS full_name_5,
         NULL AS supervisor_id_6,
         NULL AS employee_id_6,
         NULL AS full_name_6,
         NULL AS supervisor_id_7,
         NULL AS employee_id_7,
         NULL AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              supervisor_id AS supervisor_id_1,
              employee_id AS employee_id_1,
              full_name AS full_name_1
          FROM employee
          WHERE supervisor_id = 0 OR supervisor_id IS NULL
    ) A

  • Parent-child tables

    Hi,
    I have requirement like we have to delete a record called IT_PROG from jobs table.the jobs table have child tables employees,job_history, the employees table act as parent for employees,departments tables.How can i delete all related records using single query or single pl/sql block.
    Thanks in advance,
    Vi

    Hi,
    include it in your original table design would be the best way, with prime key, foreign key constraints and on delete cascade options.
    Other than that utilise trigger logic to coordinate your delete, but the first way is definitely the best, as triggers should be a last resort in databases....
    regards,
    Robert.

  • Insert Record with Parent/Child Tables doesn't work with Oracle - unlike AC

    Hi,
    I just Migrated a MS Access 2010 Database to an Oracle 11g Backend with the SQL Developer Tool.
    The Migration went fine, all the Tables and Views are migrated.
    I'm working with MS Access as Frontend.
    The application has some Datasheets with Subdatasheets with Parent/Child Relationship. (1-n Relationship)
    After changing to Oracle, it's not possible, to Insert a new Record in a Subdatasheet I always get the following Error Message:
    "The Microsoft Access database engine cannot find a record in the table 'xxxx' with key matching field(s) 'zzzzz'"
    It used to work perfect with the MS Access Backend, do I need a trigger which first adds the child Record ?
    Or what should I do?
    Thank you

    Hi Klaus,
    Thanks for your answer. I still haven't solved my problem. The only way would be to use a singel 1:n Relationship, but in fact I need a n:m Relationship.
    I tried the same scenario with a new Access Application, same result.
    To clearify my problem.
    Goal: Parent Form with Parent Records, Linked Child Form with Child Records in a Datasheet View => Insert of a NEW Child Record.
    I have 3 Tables (table1 = Parent tabel, table2 = Child Table, table12 = n:m Tabel with PK and two FK)
    The Recordsource of the Parent Form is Tabel1
    The Recordsource of the Child Form is Table2 joined with Table12.
    In my Old Access Project, Access Triggered the Insert and filled Table12 with the NEW PK of Table2.
    It seems like Access can't do that anymore....
    I'm pretty desperate and I'm sure it is just a litte thing to fix.....

  • Parent - child tables foreign key relation ship

    Hi All,
    we have 600 hundred tables ..i would like to print a hierarchial tree based on the foreigh key relathionship
    i tried my best but i couldnt.
    parent table
    child table 1
    childtable3
    child table 2
    and so
    Can somebody help me out with a query?
    Thanks,
    kt

    CREATE OR REPLACE FUNCTION get_child_tables (
    ptable VARCHAR2,
    powner VARCHAR2 DEFAULT 'SCOTT',
    plevel NUMBER DEFAULT 10
    RETURN stringarray
    -- -- create this ON SQL*PLUS "CREATE OR REPLACE TYPE STRINGARRAY AS TABLE OF VARCHAR2(50);"
    -- AUTHID CURRENT_USER
    PIPELINED
    AUTHOR DATE VERSION COMMENTS
    ======================================================================================
    [email protected] 26-OCT-2009 1.0 Developed to ease developers effort to find Nth level of Referential integrity
    ======================================================================================
    -- PURPOSE -> To find PARENT=> CHILD relational TABLE(S) in Oracle upto a depth max N Level.
    --SYNTAX TO USE
    SELECT * FROM TABLE( get_child_tables('DEPT','SCOTT',3)); Store this query in a file for your use
    SELECT * FROM TABLE( get_child_tables('EMPLOYEE')); Store this query in a file for your use
    -- RESULTS looks as below
    --1 => DEPT
    --2 => EMP
    --2 => EMP2
    --3 => EMP_CHILD
    --3 => EMP2_CHILD
    -- and so on
    --This can be leveraged to use in any oracle database REGION 10g having and above.
    --This FUNCTION gives formatted result of the Oracle 10g Hierarchical query result coded in the cursor
    --to find MASTER => CHILD relational TABLE(S) upto a depth max 10 Level.
    --The result of the PIPELINED function can be retrieved using Oracle new operator
    --TABLE(array name) in SQL query.
    --Due to the AUTHID CURRENT_USER compiler directive any user can use based on his/her access privileges on the database.
    --GRANT EXECUTE ON SCOTT.get_child_tables TO PUBLIC;
    --CREATE OR REPLACE PUBLIC SYNONYM get_child_tables FOR SCOTT.get_child_tables;
    IS
    atname stringarray := stringarray ();
    -- create this ON SQL*PLUS CREATE OR REPLACE TYPE STRINGARRAY AS TABLE OF VARCHAR2(50);
    vlevel NUMBER;
    vtname VARCHAR2 (50);
    nindex NUMBER := 0;
    bprocessed BOOLEAN := FALSE;
    CURSOR c1 (powner_in IN VARCHAR2, ptable_in VARCHAR2, plevel_in NUMBER)
    IS
    SELECT LEVEL, LPAD (' ', (LEVEL - 1) * 2, ' ') || pt AS "TNAME"
    FROM (SELECT a.owner w1, a.table_name pt, a.constraint_name c1,
    a.r_constraint_name r1, b.owner w2, b.table_name ct,
    b.constraint_name c2, b.r_constraint_name r2
    FROM all_constraints a, all_constraints b
    WHERE a.constraint_name = b.r_constraint_name(+)
    AND a.owner = b.owner(+)
    AND a.owner =
    UPPER (powner)
    -- Change Owner here while testing
    --AND A.r_constraint_name IS NULL
    AND a.constraint_type IN ('P', 'R')) v1
    START WITH pt =
    UPPER
    (ptable)
    -- Change your master table here while testing the QUERY
    CONNECT BY PRIOR ct = pt AND LEVEL <= plevel;
    -- Change lavel here while testing
    BEGIN
    atname.EXTEND;
    atname (1) := 'NOTHING';
    OPEN c1 (powner, ptable, plevel);
    LOOP
    bprocessed := FALSE;
    FETCH c1
    INTO vlevel, vtname;
    IF nindex > 1 AND atname (atname.LAST - 1) = vtname
    THEN
    --DBMS_OUTPUT.PUT_LINE('2 ==== vtname  ' ||vtname || '   '|| atname.count|| '   '||atname.last ||  '   '||atname( atname.last-1));
    bprocessed := TRUE;
    END IF;
    IF NOT bprocessed
    THEN
    nindex := nindex + 1;
    atname.EXTEND;
    atname (nindex) := vtname;
    PIPE ROW (vlevel || ' => ' || vtname);
    DBMS_OUTPUT.put_line ( ' **** nindex - atname( nindex) '
    || nindex
    || ' - '
    || atname (nindex)
    DLOG('ADDING ',vTname); A LOGGING ATONOMUS PROCEDURE FOR DEBUG PURPOSE
    END IF;
    EXIT WHEN c1%NOTFOUND;
    END LOOP;
    CLOSE c1;
    FOR i IN 1 .. atname.COUNT
    LOOP
    DBMS_OUTPUT.PUT_LINE('atname (i) ' ||atname (i));
    END LOOP;
    RETURN;
    EXCEPTION
    WHEN no_data_needed
    THEN -- THIS EXCEPTION HAS TO BE THERE TO GET THE FUCTION WORKABLE
    DBMS_OUTPUT.put_line (SQLERRM);
    RETURN;
    END get_child_tables;
    /

  • How to filter parent & child rows from tables while export usingData export

    Hi,
    I have a requirement of export schema. Assume there is a account details table and account transactions table under schema.They have parent child relation exist. if i filter accounts from account details the corresponding transactions in account transactions table should be filterd.How to achieve this?
    Regards,
    Venkat Vadlamudi
    Mobile:9850499800

    Not sure if this is a SQL and PL/SQL question or whether it's an Oracle Apps type question or a Database General.
    Whatever, you've posted in the wrong forum (http://forums.oracle.com/forums/ann.jspa?annID=599)
    You should post in a more appropriate forum e.g.
    PL/SQL
    General Database Discussions
    etc.
    locking this thread

  • Parent Child tables to be displayed as nested table

    I want to design a report on External DB tables that have  a parent - child relationship.
    The way I want the report is to show the child entries nested within each parent row and I want to have a
    "collapse/hide" button on each row when clicked to toggle between collapsing/hiding all the child entries on a parent row.

    First U have to crate Extended View Object to your actual View obj.
    Now take Page with Panel  Splitter ,on First facet drag View obj as table and on second Facet Drag Extended View Obj as table.On page loading U have delete all rows from Extended View object.And then u have write bean code on button click to get current select rows from above view objct,and for Filter rows from Second View obj according to selection of rows from first view obj...

  • Parent child tables - how to maintain RI

    Here is my scenario:
    In our model, we have parent child relationship between tables.
    We are not sure how the parent tables are populated. If incremental update, it should be fine (assuming if needed rows will be inserted in the child table manually). If the tables are truncated and data is inserted again – that might be a problem since there exist relationship with child tables. What are the various options for handling such cases?
    Option1: cascade delete
    Option 2: ...?

    I'm not sure I understand the goal here...
    - Are you trying to design a data model? If so, wouldn't the business and data requirements tell you whether you need to truncate and reload the parent table or whether you can do an incremental load? It wouldn't seem to make sense to design a data model with no understanding of how the model is going to be used.
    - Are you trying to design a load process that works with an existing data model? If so, are you trying to design an incremental load? Or a load that involves a truncate and reload? Does the existing data model have foreign key constraints?
    Specifying the Oracle version and a bit of information about the application (i.e. is this an OLTP application, a data warehouse, something else) would probably also be helpful.
    Justin

  • Loading to Parent -Child Tables simultaneously

    I have a requirement to populate parent-child tables in a single interface simultaneoulsy. I couldnt find anyway to add multiple targets and am wondering why this key feature is absent in ODI. The same thing is easily achievable in BPEL.
    Could some one please advice a work around for this.
    Your help is much appreaciated

    ODI 11g does come with a new IKM 'IKM Oracle Multi Table Insert'. This does allow multi table inserts, but will require more than one interface.
    Oracle Multi-Table Inserts
    A new Integration KM for Oracle allows populating several target tables from a single source, reading the data only once. It uses the INSERT ALL statement.
    COMPONENT NAME: IKM Oracle Multi Table Insert
    COMPONENT VERSION: 11.1.2.4
    AUTHOR: Oracle
    COMPATIBILITY: ODI 11.1.1.3 and above
    DESCRIPTION:
         - Integrates data from one source into one to many Oracle target tables in append mode, using a multi-table insert statement (MTI).
    REQUIREMENTS:
         - Oracle Database 9iR1 or above
         - See BASIC CONFIGURATION section
    BASIC CONFIGURATION
         - This IKM must be used in integration interfaces that are sequenced in a Package:
              - The first interface of the Package must have a temporary target and the KM option DEFINE_QUERY set to YES.
              This first interface defines the structure of the SELECT clause of the multi-table insert statement (that is the source flow).
              - Subsequent integration interfaces must source from this temporary datastore and have the KM option IS_TARGET_TABLE set to YES.
              - The last interface of the Package must have the KM option EXECUTE set to YES in order to run the multi-table insert statement.
              - Do not set "Use Temporary Interface as Derived Table(Sub-Select)" set to true on any of the interfaces.
         - If large amounts of data are appended, consider to set the KM option OPTIMIZER_HINT to /*+ APPEND */.
    OPTIONS (Refer to the Option descriptions for more information on each option)
         - DEFINE_QUERY: Set to Yes if this interface describes the source query (SELECT clause of the statement). This interface must have a temporary target.
         - IS_TARGET_TABLE: Set to Yes this interface using the source query to load one of the target tables. This interface must source from an interface with a temporary target using this IKM and having the KM option DEFINE_QUERY set to YES.
         - EXECUTE: Set to Yes for the last interface in the Package. This interface will run the multi-table insert statement.
         - COMMIT: Commit transaction. This applies only to the last interface in the Package.
         - TRUNCATE: Set to Yes to truncate this interface target table.
         - CREATE_TARG_TABLE: Create target table? May only be used on target interfaces, but not on source interfaces (defining the source data).
         - OPTIMIZER_HINT: Hint for the multi-table insert statement.
    RESTRICTIONS:
         - This KM can only be used in integration interfaces that are part of a Package.
         - All source and target datastores need to reside on same data server.
         - Journalized source data is not supported.
         - Temporary indexes are not supported.
         - Flow/static control is not supported.
         - The TRUNCATE option cannot work, if the target table is referenced by another table (foreign key).

Maybe you are looking for

  • How to build a dll

    hi everybody,                         I have a problem  on creating a dll for my appliction in labview. Anybody give me the suggesstion for creating a dll. Thanks. kumar.

  • To delete trash messages with expire.rule

    Hi, With Messagin server 6.0 I have put this rule in: /opt/SUNWmsgsr/config/store.expirerule Rule2.regexp: 1 Rule2.folderpattern: user/.*/trash Rule2.messagedays: 1 So It must delete all messages in users trash folder older than 1 day. Is this correc

  • A confusing ipod touch 4g!!

    i just got an ipod touch 4g and it serprised me to find that it is missing some features like ibooks or itunes U and i cant find any acess to facetime is this normal ?

  • Unable to download rented movie

    I just rented a movie from iTunes store and it will not download after 30 MB. It gives the message - "Unknown error occurred (-50)". I don't have any network connection issues since I am posting from same machine. Please advise. Thanks

  • Logging into wifi which needs to display a webpage?

    Hi everyone, Im looking to get an iPod Touch soon and I was wondering, because my school is connected to a library with wifi that brings up a webpage for you to log in, is it possible to log in with a Touch? I know it has a Safari web browser, but is