Ich habe gespeicherte Prozedur, die XML zurückgibt. XML wird nicht als Parameter, sondern als Ergebnis von SELECT zurückgegeben:
create procedure #xml_test
as
select 1 as a for xml raw
go
Ich versuche, dieses XML in eine Variable zu packen:
declare @xml as nvarchar(max)
Aber ich kann nicht herausfinden, wie man das macht. Meine beste Idee war INSERT INTO ... EXEC, aber ich erhalte die Fehlermeldung "Die FOR XML-Klausel ist in einer INSERT-Anweisung nicht zulässig.":
create table #tmp(col1 nvarchar(max) not null)
insert into #tmp
exec #xml_test
Dieser Ansatz eignet sich gut für gewöhnlichen Text:
create procedure #text_test
as
select 'aaa' as a
go
insert into #tmp
exec #text_test
Ich frage mich, ob jemand schon einmal auf dieses Problem gestoßen ist? Ich verwende SQL Server 2005