SQL Server相当于MySQL Load xml infile

时间:2015-08-18 03:41:19

标签: mysql sql-server

我一直在使用MySQL加载XML Infile将xml文件加载到MySQL表中。 xml文件具有此格式

<Detail_Collection>
    <Detail
        JobId=“12345”
        JobDescription=“Job1”
        Sold_To=“Customer1”
    />
    <Detail
        JobId=“23445”
        JobDescription=“Job2”
        Sold_To=“Customer2”
    />
</Detail_Collection>

我的表格看起来像这样

JobId   
JobDescription   
Sold_to   

每件事都很好。 我发现自己不得不从MySQL迁移到SQL Server,似乎无法在SQL Server中找到一种简单的方法。我错过了什么

1 个答案:

答案 0 :(得分:0)

如果您正在寻找SQL查询以将XML文件中的作业数据提取到SQL Server数据库表中,请检查以下用于在SQL Server上查询XML数据的T-SQL语法

declare @xml as xml
set @xml = '
<Detail_Collection>
    <Detail
        JobId="12345"
        JobDescription="Job1"
        Sold_To="Customer1"
    />
    <Detail
        JobId="23445"
        JobDescription="Job2"
        Sold_To="Customer2"
    />
</Detail_Collection>'
select @xml

select
 job.value('@JobId','int') JobId,
 job.value('@JobDescription','varchar(400)') JobDescription,
 job.value('@Sold_To','varchar(400)') Sold_To
from @xml.nodes('/Detail_Collection/Detail') as jobs(job)

您可以在给定参考

querying XML on SQL Server上找到教程