SQL Server - Duda procedure XML

 
Vista:

Duda procedure XML

Publicado por Juan (4 intervenciones) el 11/10/2007 11:21:27
Hola, necesito hacer un procedimiento que haga lo siguiente:
El parametro de entrada es un varchar con el nombre de una tabla fisica de otra base de datos, y tengo que leer el contenido de dicha tabla y pasarlo a xml para llevarlo a mi tabla final. Pongo un ejemplo.
Parametro de entrada: 'tabla' almacenada en varchar
set @xml=select * from @var for xml auto
insert into tab_xml values (@xml)

El problema que he encontrado es que la variable tabla me pide que la declare como tabla, y yo tengo que introducirla mediante un varchar. Al pasarlo a xml no llega a ejecutarme la consulta, es decir, lo que queda es.
select @xml=select * from tabla for xml auto

Lo he intentado con sp_execute sql, pero el problema es que no me lee la variable como nombre de tabla, si introduzco un nombre fisico, me lo hace sin ningun problema, pero como varchar, me dice que debo declararla como nombre de tabla

Podriais ayudarme???
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda procedure XML

Publicado por Isaias (3308 intervenciones) el 11/10/2007 17:57:23
DECLARE @var sysname
DECLARE @SQLString NVARCHAR(1000)
DECLARE @XML NVARCHAR(3000)

set @var = 'cliente'
set @SQLString = N'SET @xmlOUT=SELECT * FROM '+@var+' for xml auto'
EXECUTE sp_executesql @SQLString, '@xmlOUT nvarchar(3000) OUTPUT', @xmlOUT = @XML

insert into tab_xml values (@xml)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar