2016-05-18 5 views
1

Ich habe diesen Code in SQL-Abfrage:XML-Datei in SQL-Tabelle importieren?

CREATE TABLE Products(
P VARCHAR(30)); 

Select * 
from products 

Declare @x xml 

Select @x=P 
from openrowset (BULK 'C:\Pantanir.xml', Single_blob) AS Products(P) 

Select @x 

Wo P eine Spalte in der Tabelle Produkte. Mit diesem importiere ich nur die XML-Datei in meine Datenbank, aber ich werde nicht eine Tabelle mit so etwas erstellen, aber das funktioniert nicht.

from openxml (@hdoc, '/reservation',1) 
with ('Someattribute') 

Ein Teil meiner XML-Datei wird unten angezeigt. Ich möchte zwei Spalten erstellen (ReservationNo und SecurityCode) und die Werte aus der XML-Datei übernehmen und in eine SQL-Tabelle importieren. Ist das möglich ?

<reservation> 
    <reservationNo>9833591189</reservationNo> 
    <securityCode>ad4badfd56</securityCode> 

Antwort

2

Bitte versuchen Sie den folgenden Code. Dies gibt die Ausgabe in SQL Server 2012.

DECLARE @XML XML = ' <reservation> 
    <reservationNo>9833591189</reservationNo> 
    <securityCode>ad4badfd56</securityCode></reservation>' 

SELECT 
    reservationNo = Events.value('(reservationNo)[1]', 'varchar(100)'), 
    securityCode = Events.value('(securityCode)[1]', 'varchar(100)') 
FROM 
    @XML.nodes('/reservation') AS XTbl(Events) 
+0

Dies funktioniert !, Vielen Dank. – davidhlynsson