sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Indsætte flere rækker ved hjælp af lagret procedure og xml-parameter?

Du kan makulere XML'en ved hjælp af nodefunktionen:

CREATE PROC ShredXML (@x xml)
AS BEGIN
    INSERT INTO TBL_TARGET (Name, Color)
    SELECT 
        x.y.value( 'Name[1]', 'VARCHAR(20)' ) AS Name,
        x.y.value( 'Color[1]', 'VARCHAR(20)' ) AS Color
    FROM @x.nodes('cars/car') x(y)
END


exec ShredXML @x = N'<cars><car><Name>BMW</Name><Color>Red</Color></car><car><Name>Audi</Name><Color>Green</Color></car></cars>'


  1. LAST_NUMBER på orakelsekvens

  2. mysql kompliceret sql

  3. Oracle:hvordan man trækker to datoer fra og får minutter af resultatet

  4. SQL Server returnerer værdien af ​​identitetskolonnen efter insert statement