Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 将sp的xml自动结果存储在xml变量中_Sql Server 2005_Tsql - Fatal编程技术网

Sql server 2005 将sp的xml自动结果存储在xml变量中

Sql server 2005 将sp的xml自动结果存储在xml变量中,sql-server-2005,tsql,Sql Server 2005,Tsql,我有一个像这样的sp create proc disp as begin select * from emp for xml auto end 现在我想存储语句的结果 exec disp 在xml变量中 我试过类似的东西 Declare @xmlvar XML set @xmlvar = exec disp 但是这不起作用。您可以创建一个表变量来捕获SP的输出,然后从表中获取XML declare @T table (xmlCol xml) declare @xml xml inser

我有一个像这样的sp

create proc disp
as
begin
select * from emp for xml auto
end
现在我想存储语句的结果

exec disp 
在xml变量中

我试过类似的东西

Declare @xmlvar XML
set @xmlvar = exec disp

但是这不起作用。

您可以创建一个表变量来捕获SP的输出,然后从表中获取XML

declare @T table (xmlCol xml)
declare @xml xml

insert into @T
exec disp

select @xml = xmlCol
from @T
要使其正常工作,您需要将其添加到SP中的查询中。 像这样的

create proc disp
as
begin
  select * from emp for xml auto, type
end

由于某些原因,我无法更改sp。有没有办法不用它呢?@Nadeem–据我所知,没有。