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

Групово импортиране на XML в SQL Server

SQL Server може да чете XML и да го вмъква според нуждите ви. Ето пример за XML файл и вмъкване, извлечено от тук :

XML:

<Products>
  <Product>
    <SKU>1</SKU>
    <Desc>Book</Desc>
  </Product>
  <Product>
    <SKU>2</SKU>
    <Desc>DVD</Desc>
  </Product>
  <Product>
    <SKU>3</SKU>
    <Desc>Video</Desc>
  </Product>
</Products>

Вмъкнете израз, който анализира XML:

INSERT INTO Products (sku, product_desc) 
SELECT X.product.query('SKU').value('.', 'INT'),
       X.product.query('Desc').value('.', 'VARCHAR(30)')
FROM ( 
SELECT CAST(x AS XML)
FROM OPENROWSET(
     BULK 'C:\Products.xml',
     SINGLE_BLOB) AS T(x)
     ) AS T(x)
CROSS APPLY x.nodes('Products/Product') AS X(product);


  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 израз - Как може да се подобри скоростта с индексиране

  2. Динамичен каталог на свързан сървър за изпълнение на MDX чрез OpenQuery

  3. Можете ли да имате логика if-then-else в SQL?

  4. GROUP BY за комбиниране/свързване на колона

  5. Връщане на всички неизчислени колони от таблица в SQL Server