sql-server - 获取 xml 作为 exec 存储过程的结果

标签 sql-server xml stored-procedures for-xml

我正在尝试获取执行的存储过程的结果,以表的 XML 形式检索该结果最初显示的结果。

我想做的就是这样的事情。

exec dbo.StoredProcedure FOR XML RAW,ROOT('root_name')。

假设 exec dbo.StoredProcedure 返回存储过程中的表, 我希望 FOR XML RAW, ROOT ('root_name') 返回整个结果的 XML 值。

如何在 SQL Server 中实现此目的?

最佳答案

一种方法是使用 INSERT...EXEC 将过程结果插入到临时表或变量中,然后使用所需的 FOR XML 查询从该表中进行选择:

DECLARE @results AS TABLE(col1 int, col2 int);
INSERT INTO @results EXEC dbo.StoredProcedure;
SELECT col1, col2
FROM @results
FOR XML RAW, ROOT ('root_name');

关于sql-server - 获取 xml 作为 exec 存储过程的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46299055/

相关文章:

sql - 用于在表1,分组依据,总和中选择值的存储过程,然后将这些值插入表2

sql-server - 在表单元格中存储 id 列表 - SQL Server

c# - 使用 LINQ 访问存储过程值。 Entity Framework 5,数据库优先

sql-server - 从 SQL Native 存储过程 (Hekaton) 中的表进行更新

c++ - 如何使用 QXmlStreamReader 来解析包含对其他 XML 文件的引用的 XML 文件?

stored-procedures - SAS:获取创建的 DBF 文件的文件大小

.net - Entity Framework 死锁和并发

c# - 在 gridview 中获取特定的数据行?

Java Dom 解析器报告错误的子节点数

ruby - 如何使用 Nokogiri::XML::Reader 解析大型 XML 文件?