我在SQL查询中有这段代码:
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
其中P是表产品中的列。有了这个我只将XML文件导入我的数据库,但我不会创建一个这样的表格,但这不起作用。
from openxml (@hdoc, '/reservation',1)
with ('Someattribute')
我的XML文件的一部分如下所示。我想创建两列(ReservationNo和SecurityCode)并从XML文件中获取值并将它们导入SQL表。这可能吗?
<reservation>
<reservationNo>9833591189</reservationNo>
<securityCode>ad4badfd56</securityCode>
答案 0 :(得分: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)