【问题标题】:Fetching XML Data into SQL Server Select Statement将 XML 数据提取到 SQL Server Select 语句中
【发布时间】:2014-04-22 10:53:04
【问题描述】:

我在 Vb.net 中有一个 DataSet 和 DataTable,我已将该 DataTable 值转换为 XML,因此我可以在 SQL Server 的一个插入语句中写入所有行,而不是为数十万行一次又一次地调用存储过程。

这里有示例 XML 和 SQL 脚本

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)
  1. 结果: 507.6100

它只返回第一行数据,我想获取所有行。

【问题讨论】:

    标签: xml vb.net sql-server-2008


    【解决方案1】:

    移动您的查询,使子级别位于Table(否则Table[1] 会将结果限制为一个):

    SELECT
    a.b.value('ColVal[1]','varchar(10)') AS Fruits4
    FROM @MyXML.nodes('NewDataSet/Table') a(b)
    

    SqlFiddle here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-28
      • 2010-09-06
      • 2015-10-30
      • 1970-01-01
      相关资源
      最近更新 更多