Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Wstawić wiele wierszy za pomocą procedury składowanej i parametru xml?

Możesz zniszczyć XML za pomocą funkcji nodes:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak porównać dane między dwiema tabelami w różnych bazach danych przy użyciu Sql Server 2008?

  2. Czy istnieje błąd w SqlDataReader.HasRows podczas uruchamiania programu SQL Server 2008?

  3. Używanie INNER JOIN do łączenia tabel programu SQL Server i wyświetlania ich w formularzach sieci Web ASP.NET

  4. Asynchroniczne wywołanie procedury składowanej programu SQL Server w języku C#

  5. Jak uruchomić wygenerowany SQL ze zmiennej?