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

ストアド プロシージャ:XML を引数として渡し、INSERT (キーと値のペア)

    以下に一例を示します:

    /* Create the stored procedure */
    create procedure ParseXML (@InputXML xml)
    as
    begin
        declare @MyTable table (
            id int,
            value int
        )
    
        insert into @MyTable 
            (id, value)
            select Row.id.value('@id','int'), Row.id.value('@value','int') 
                from @InputXML.nodes('/Rows/Row') as Row(id)        
    
        select id, value
            from @MyTable
    end
    go
    
    /* Create the XML Parameter */
    declare @XMLParam xml
    set @XMLParam = '<Rows>
                         <Row id="1" value="100" />
                         <Row id="2" value="200" />
                         <Row id="3" value="300" />
                     </Rows>'
    
    /* Call the stored procedure with the XML Parameter */
    exec ParseXML @InputXML = @XMLParam
    
    /* Clean up - Drop the procedure */
    drop procedure ParseXML
    go
    


    1. 1つの表に行がない可能性がある複数の表からの選択によるOracleInsert

    2. PostgreSQL ROLE(ユーザー)が存在しない場合は作成します

    3. rand()による注文は、大きな投稿で問題が発生します

    4. Oracle 11g でサポートされている JDBC、JDK のバージョン