在SQL表

时间:2015-04-26 11:30:10

标签: sql sql-server xml tsql sqlxml

我有一个xml文件,显示如下数据:

<learner>
   <name>Smith</name>
   <ULN>123456</ULN>
</learner>
<learner>
   <name>Jones</name>
   <ULN>56789</ULN>
</learner>

我有一个表将文件存储为varchar(max),因为我无法从我的前端系统直接上传为xml。

我可以通过创建表来读取文件作为xml文件:

declare @ILRDATA table (Data xml) 

Insert into @ILRDATA (Data)
select FileUpload from ILRDATA.dbo.ILRUpload

select * from @ILRDATA

我现在想用列创建一个@table(Name varchar(50),ULN varchar(10))

我想用xml数据填充它

在我浪费整整一天试图解决这个问题之前,有人可以帮助我。

由于

1 个答案:

答案 0 :(得分:2)

select
    t.c.value('name[1]', 'nvarchar(50)') as name,
    t.c.value('ULN[1]', 'nvarchar(10)') as ULN
from @ILRDATA as d
    outer apply d.Data.nodes('learner') as t(c)