2016-05-18 5 views
1

私は、SQLクエリでこのコードを持っている:XMLファイルをSQLテーブルにインポートしますか?

Pはテーブル製品の列です
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 

。これで私はデータベースにXMLファイルをインポートするだけですが、このようなものでテーブルを作成することはありませんが、これは動作しません。

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

私のXMLファイルの一部を以下に示します。私は2つの列(ReservationNoとSecurityCode)を作成し、XMLファイルから値を取り出してSQLテーブルにインポートしたいと考えています。それは可能ですか?

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

答えて

2

次のコードを試してください。これにより、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

これは機能します。、ありがとうございます。 – davidhlynsson

関連する問題