Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Вмъкване на множество редове с помощта на съхранена процедура и xml параметър?

Можете да раздробявате XML с помощта на функцията за възли:

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. Запомнена процедура EXEC срещу sp_executesql разлика?

  2. Вижте дали дадена таблица има ограничение по подразбиране в SQL Server, като използвате OBJECTPROPERTY()

  3. вмъкване в локална таблица от свързана съхранена процедура

  4. За да промените формата на датата в sql

  5. Защо select SCOPE_IDENTITY() връща десетичен знак вместо цяло число?