2016-11-17 65 views
1

我有一個變量(@a)與查詢:動態保存查詢結果到變量

select Field1 as [TD],Field2 as [TD] 
from MLSFeed 
For XML raw('tr'), Elements 

如何保存xml結果(dynamic query)到另一個變量(@b)?

我試圖創建Temporary表並插入DynamicSQL的結果,但不允許將xml結果輸入到表中。

+0

[將FOR XML AUTO結果保存到SQL中的變量]的可能重複(http://stackoverflow.com/questions/914009/saving-the-xml-auto-results-to-variable-in-sql ) – dlatikay

回答

2

試試這個

DECLARE @MyOutput NVARCHAR(max) = ''; 
DECLARE @MyQuery NVARCHAR(max) = 'SELECT @MyOutput = (SELECT s.name FROM sys.databases s FOR XML AUTO)' 
DECLARE @ParmDefinition NVARCHAR(500); 

SET @ParmDefinition = N'@MyOutput nvarchar(max) OUTPUT'; 

EXECUTE sp_executesql @MyQuery 
    ,@ParmDefinition 
    ,@MyOutput = @MyOutput OUTPUT; 

SELECT @MyOutput 

您需要爲需要更換的變量和表。讓我們知道。

+0

謝謝。那工作 – Sher

0

聲明變量並填充它。沒有動態的qry。

declare @a xml 
set @a = (
    select Field1 as [TD],Field2 as [TD] 
    from MLSFeed 
    for xml raw('tr'), elements) 

--select @a 

declare @b xml -- you asked for @b 
set @b = @a 

你不應該沒有理由地使用動態qry。