根据EXEC存储过程获取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插入PROC结果,然后使用所需的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');

根据这个问题,您不应从存储过程中选择。另外,如果您涉及该问题,您将找到一个有趣的文章链接,描述了您使用存储过程的选项。

如果我是您,我要么将带有输出参数的XML返回XML,要么将其插入表中,然后对其进行查询。

最新更新