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

Masseimport af XML til SQL Server

SQL Server er i stand til at læse XML og indsætte det efter behov. Her er et eksempel på en XML-fil og indsættelse hentet fra her :

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>

Indsæt sætning, der parser 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. MySQL RAND() seed-værdier gentages næsten

  2. Få specifik indtastning i tilfælde af duplikatindtastning

  3. Hvordan laver man en sql loop-forespørgsel for at kontrollere forskellen mellem værdier?

  4. PostgreSQL runde(v numerisk, s int)