我試圖獲取執行的存儲過程的結果作爲結果顯示爲最初的表的XML檢索。從exec存儲過程得到xml結果
我想要做的就是這樣的事情。
exec dbo.StoredProcedure FOR XML RAW, ROOT ('root_name').
比方說EXEC dbo.StoredProcedure
返回在存儲過程中的表, 我想FOR XML RAW, ROOT ('root_name')
來返回整個結果的XML值。
我該如何做到這一點在SQL服務器?
我試圖獲取執行的存儲過程的結果作爲結果顯示爲最初的表的XML檢索。從exec存儲過程得到xml結果
我想要做的就是這樣的事情。
exec dbo.StoredProcedure FOR XML RAW, ROOT ('root_name').
比方說EXEC dbo.StoredProcedure
返回在存儲過程中的表, 我想FOR XML RAW, ROOT ('root_name')
來返回整個結果的XML值。
我該如何做到這一點在SQL服務器?
的一種方法是使用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查詢磁盤中的XML文件? – John
@John,雖然你可以用SQLCLR或xp_cmdshell的醜陋來做到這一點,但我建議你不要去那裏。使用客戶端應用程序或腳本(如Powershell)保存XML是很簡單的。 –
好的,謝謝你的信息,我一定會看看我的選擇。 – John