Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara mengulang dan mengurai parameter xml dalam prosedur tersimpan server sql

Coba pernyataan ini:

SELECT
   Pers.value('(ID)[1]', 'int') as 'ID',
   Pers.value('(Name)[1]', 'Varchar(50)') as 'Name',
   Pers.value('(LastName)[1]', 'varchar(50)') as 'LastName'
FROM
   @YourXml.nodes('/Employees/Person') as EMP(Pers)

Ini memberi Anda representasi baris/kolom yang bagus dari data tersebut.

Dan tentu saja, Anda dapat memperluasnya menjadi bagian kedua dalam pernyataan INSERT:

INSERT INTO dbo.YourTargetTable(ID, Name, LastName)
  SELECT
     Pers.value('(ID)[1]', 'int') as 'ID',
      Pers.value('(Name)[1]', 'Varchar(50)') as 'Name',
     Pers.value('(LastName)[1]', 'varchar(50)') as 'LastName'
  FROM
     @YourXml.nodes('/Employees/Person') as EMP(Pers)

Selesai - tidak perlu loop atau kursor atau hal-hal buruk seperti itu! :-)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL - Mengurangi nilai yang menipis dari baris

  2. Pernyataan SQL CASE:Apa itu dan apa cara terbaik untuk menggunakannya?

  3. Microsoft Mengumumkan SQL Server 2012 R2 dan SQL Server 2012 R3!

  4. Fitur Baru SQL Server 2019

  5. Cara menyisipkan beberapa baris ke dalam tabel berdasarkan rentang angka