我有一个FOR XML子句的动态查询。 我如何从中获得结果?
DECLARE @QUERY NVARCHAR(MAX);
-- Here dynamicaly generated query. But for example i made it static
SET @QUERY = N'SELECT [CLMN]
FROM (
SELECT 1 as [CLMN]
) TBL FOR XML PATH(''TBL'')';
EXECUTE(@QUERY);
我需要将结果插入到此代码的任何变量中:
EXECUTE(@QUERY);
答案 0 :(得分:2)
你可以这样做:
declare @QUERY nvarchar(max), @RESULT xml
set @QUERY = N'select @RESULT = (
SELECT [CLMN]
FROM (
SELECT 1 as [CLMN]
) TBL
FOR XML PATH(''TBL'')
)'
execute sp_executesql @QUERY, N'@RESULT xml output', @RESULT = @RESULT output
select @RESULT
只需将外部变量传递给动态查询,并在查询中将select ... for xml
的结果分配给此变量。