将XML数据提取到SQL Server Select语句中
我在Vb.net中有一个DataSet和DataTable,我已将DataTable值转换为XML,这样我就可以在SQL Server的一个insert语句中写入所有行,而不是对数十万行反复调用存储过程 这里是示例XML和SQL脚本将XML数据提取到SQL Server Select语句中,xml,vb.net,sql-server-2008,Xml,Vb.net,Sql Server 2008,我在Vb.net中有一个DataSet和DataTable,我已将DataTable值转换为XML,这样我就可以在SQL Server的一个insert语句中写入所有行,而不是对数十万行反复调用存储过程 这里是示例XML和SQL脚本 DECLARE @MyXML XML SET @MyXML = '<NewDataSet> <Table> <ColVal>507.6100</ColVal> </Table> <Table>
DECLARE @MyXML XML
SET @MyXML = '<NewDataSet>
<Table>
<ColVal>507.6100</ColVal>
</Table>
<Table>
<ColVal>750.5800</ColVal>
</Table>
<Table>
<ColVal>328.3600</ColVal>
</Table>
<Table>
<ColVal>194.7700</ColVal>
</Table>
</NewDataSet>'
SELECT
a.b.value('Table[1]/ColVal[1]','varchar(10)') AS Fruits4
FROM @MyXML.nodes('NewDataSet') a(b)
DECLARE@MyXML
SET@MyXML=
507.6100
750.5800
328.3600
194.7700
'
挑选
a、 b.值('Table[1]/ColVal[1]','varchar(10)')作为结果4
来自@MyXML.nodes('NewDataSet')a(b)
它只返回第一行数据,我想获取所有行。移动查询,使子级位于
表
(否则表[1]
会将结果限制为一行):
SELECT
a.b.value('ColVal[1]','varchar(10)') AS Fruits4
FROM @MyXML.nodes('NewDataSet/Table') a(b)