У меня есть хранимая процедура, возвращающая XML. XML возвращается не как параметр, а как результат SELECT:
create procedure #xml_test
as
select 1 as a for xml raw
go
Я пытаюсь поместить этот XML в переменную:
declare @xml as nvarchar(max)
Но я не могу найти, как это сделать. Моя лучшая идея была INSERT INTO ... EXEC, но я получаю сообщение об ошибке «Предложение FOR XML не разрешено в инструкции INSERT».:
create table #tmp(col1 nvarchar(max) not null)
insert into #tmp
exec #xml_test
Этот подход хорошо работает для обычного текста:
create procedure #text_test
as
select 'aaa' as a
go
insert into #tmp
exec #text_test
Интересно, кто-нибудь уже сталкивался с этой проблемой? Я на SQL Server 2005