Home Forums Programming XML Query XML which has multiple child and subchild RE: Query XML which has multiple child and subchild

  • Hi arthurolcot,

    Giving a sample xml and the table structure. Need to insert into the respective tables below. Please suggest

    DECLARE @xml xml

    = '<Master>

    <MasterNo>abc</MasterNo>

    <Id>def</Id>

    <FirstChild>

    <FirstChildNo>ghi</FirstChildNo>

    <ClaimNO>jkl</ClaimNO>

    </FirstChild>

    <SecondChild>

    <Code>098</Code>

    <Demo>765</Demo>

    </SecondChild>

    <ThirdChild>

    <ID>123</ID>

    <ChildNo>1</ChildNo>

    <FirstChild>

    <FirstChildNo/>

    <ClaimNo/>

    </FirstChild>

    <FourthChild>

    <Quantity>12</Quantity>

    <ID>1</ID>

    <FourthChildNo>

    <Number>125</Number>

    <Ref>ABC</Ref>

    </FourthChildNo>

    <FourthChildNo>

    <Number>125</Number>

    <Ref>ABC</Ref>

    </FourthChildNo>

    </FourthChild>

    </ThirdChild>

    <ThirdChild>

    <ID>123</ID>

    <ChildNo>1</ChildNo>

    <FirstChild>

    <FirstChildNo/>

    <ClaimNo/>

    </FirstChild>

    <FourthChild>

    <Quantity>2</Quantity>

    <ID>14</ID>

    <FourthChildNo>

    <Number>125</Number>

    <Ref>BC</Ref>

    </FourthChildNo>

    <FourthChildNo>

    <Number>25</Number>

    <Ref>BC</Ref>

    </FourthChildNo>

    </FourthChild>

    </ThirdChild>

    </Master>

    <Master>

    <MasterNo>bc</MasterNo>

    <Id>ef</Id>

    <FirstChild>

    <FirstChildNo>hi</FirstChildNo>

    <ClaimNO>kl</ClaimNO>

    </FirstChild>

    <SecondChild>

    <Code>98</Code>

    <Demo>65</Demo>

    </SecondChild>

    <ThirdChild>

    <ID>23</ID>

    <ChildNo>10</ChildNo>

    <FirstChild>

    <FirstChildNo/>

    <ClaimNo/>

    </FirstChild>

    <FourthChild>

    <Quantity>1</Quantity>

    <ID>1</ID>

    <FourthChildNo>

    <Number>15</Number>

    <Ref>ABC</Ref>

    </FourthChildNo>

    <FourthChildNo>

    <Number>15</Number>

    <Ref>AC</Ref>

    </FourthChildNo>

    </FourthChild>

    </ThirdChild>

    <ThirdChild>

    <ID>13</ID>

    <ChildNo>1</ChildNo>

    <FirstChild>

    <FirstChildNo/>

    <ClaimNo/>

    </FirstChild>

    <FourthChild>

    <Quantity>2</Quantity>

    <ID>104</ID>

    <FourthChildNo>

    <Number>15</Number>

    <Ref>C</Ref>

    </FourthChildNo>

    <FourthChildNo>

    <Number>5</Number>

    <Ref>BC</Ref>

    </FourthChildNo>

    </FourthChild>

    </ThirdChild>

    </Master>'

    CREATE TABLE m_Master(

    m_Seq_id int IDENTITY(1,1) PRIMARY KEY,

    MasterNo VARCHAR(20),

    Id VARCHAR(20)

    )

    CREATE TABLE m_FirstChild(

    m_FirstChild_Seq_Id int IDENTITY(100,1) PRIMARY KEY,

    m_Seq_id int REFERENCES m_Master(m_Seq_id),

    FirstChildNO VARCHAR(20),

    ClaimNO VARCHAR(20)

    )

    CREATE TABLE m_SecondChild(

    m_SecondChild_seq_id INT IDENTITY(100,1) PRIMARY KEY,

    m_Seq_id int REFERENCES m_Master(m_Seq_id),

    Code INT,

    Demo INT

    )

    CREATE TABLE m_ThirdChilds(

    m_ThirdChilds_seq_id INT IDENTITY(100,1) PRIMARY KEY,

    m_Seq_id int REFERENCES m_Master(m_Seq_id),

    ID INT,

    i_ChildNo INT,

    FirstChildNO VARCHAR(20),

    ClaimNO VARCHAR(20),

    Quantity INT,

    FourthChild_ID INT

    )

    CREATE TABLE m_FourthChilds(

    m_FourthChilds_seq_id INT IDENTITY(10,1) PRIMARY KEY,

    m_ThirdChilds_seq_id int REFERENCES m_ThirdChilds(m_ThirdChilds_seq_id),

    Number INT,

    Ref VARCHAR(20)

    )