我正在尝试获取执行的存储过程的结果以检索到表的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,要么将其插入表中,然后对其进行查询。