sql >> データベース >  >> RDS >> Sqlserver

XmlをテーブルSQLServerに変換する

    これが答えです、それが誰かを助けることを願っています:)

    まず、xmlの記述方法には2つのバリエーションがあります。

    1

    <row>
        <IdInvernadero>8</IdInvernadero>
        <IdProducto>3</IdProducto>
        <IdCaracteristica1>8</IdCaracteristica1>
        <IdCaracteristica2>8</IdCaracteristica2>
        <Cantidad>25</Cantidad>
        <Folio>4568457</Folio>
    </row>
    <row>
        <IdInvernadero>3</IdInvernadero>
        <IdProducto>3</IdProducto>
        <IdCaracteristica1>1</IdCaracteristica1>
        <IdCaracteristica2>2</IdCaracteristica2>
        <Cantidad>72</Cantidad>
        <Folio>4568457</Folio>
    </row>
    

    回答:

    SELECT  
           Tbl.Col.value('IdInvernadero[1]', 'smallint'),  
           Tbl.Col.value('IdProducto[1]', 'smallint'),  
           Tbl.Col.value('IdCaracteristica1[1]', 'smallint'),
           Tbl.Col.value('IdCaracteristica2[1]', 'smallint'),
           Tbl.Col.value('Cantidad[1]', 'int'),
           Tbl.Col.value('Folio[1]', 'varchar(7)')
    FROM   @xml.nodes('//row') Tbl(Col)  
    

    2。

    <row IdInvernadero="8" IdProducto="3" IdCaracteristica1="8" IdCaracteristica2="8" Cantidad ="25" Folio="4568457" />                         
    <row IdInvernadero="3" IdProducto="3" IdCaracteristica1="1" IdCaracteristica2="2" Cantidad ="72" Folio="4568457" />
    

    回答:

    SELECT  
           Tbl.Col.value('@IdInvernadero', 'smallint'),  
           Tbl.Col.value('@IdProducto', 'smallint'),  
           Tbl.Col.value('@IdCaracteristica1', 'smallint'),
           Tbl.Col.value('@IdCaracteristica2', 'smallint'),
           Tbl.Col.value('@Cantidad', 'int'),
           Tbl.Col.value('@Folio', 'varchar(7)')
    
    FROM   @xml.nodes('//row') Tbl(Col)
    

    取得元:

    1. http:// kennyshu .blogspot.com / 2007/12 / convert-xml-file-to-table-in-sql-2005.html

    2. http://msdn.microsoft.com/en- us / library / ms345117(SQL.90).aspx



    1. mysqli_queryに複数のクエリを送信するとエラーが発生するのはなぜですか?

    2. PostgreSQLで制約を変更しようとしています

    3. 表2にはあるが、表1にはない値を表示する

    4. EntityFrameworkデータベース接続のテスト