我有一个SQL Server 2005查询生成一个大的结果集(最多几千兆字节):
SELECT * FROM Product FOR XML PATH('Product')
Run Code Online (Sandbox Code Playgroud)
运行查询会生成一个包含具有许多产品元素的文档的行:
Row 1:
<Product>
<Name>Product One</Name>
<Price>10.00</Price>
</Product>
<Product>
<Name>Product Two</Name>
<Price>20.00</Price>
</Product>
...
Run Code Online (Sandbox Code Playgroud)
我想更改查询,以便不是包含具有多个产品元素的单个文档的一行的结果集,而是返回多行,每行包含一个由单个Product元素组成的单个文档:
Row 1:
<Product>
<Name>Product One</Name>
<Price>10.00</Price>
</Product>
Row 2:
<Product>
<Name>Product Two</Name>
<Price>20.00</Price>
</Product>
Run Code Online (Sandbox Code Playgroud)
最后,我想使用IDataReader从C#中使用此查询,而不使用SQL Server或我的应用程序将整个结果集加载到内存中.我可以对SQL进行任何更改以启用此方案吗?
Cle*_*gic 19
我想你想要这样的东西.(你可以在AdventureWorks上运行以下查询)
SELECT ProductID
,( SELECT * FROM Production.Product AS b WHERE a.ProductID= b.ProductID FOR XML PATH('Name') ) AS RowXML
FROM Production.Product AS a
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14742 次 |
| 最近记录: |