你在存储过程处理就好了:use tempdb
gocreate proc p_test
@s varchar(max) output
as
declare @x xmlset @x = (select top 10 *
from sys.objects
for xml auto)set @s = convert(varchar(max),@x)
godeclare @s varchar(max)
exec p_test @s output
select @s
godrop proc p_test
go
gocreate proc p_test
@s varchar(max) output
as
declare @x xmlset @x = (select top 10 *
from sys.objects
for xml auto)set @s = convert(varchar(max),@x)
godeclare @s varchar(max)
exec p_test @s output
select @s
godrop proc p_test
go
declare @x varchar(8000)
declare @t table(x varchar(8000))
insert @t select * from openquery('msdasql','exec proc_name' /*这个proc返回xml结果集, 当然,你也可以把这段放在proc里,而这里就是你产生xml的语句 而不是再次调用proc*/) a
select @x=x from @t这样就可以了。
如果超长,恐怕你得用text.示意写法,可能手误,仅供参考。