Actualizar variable table mediante exec()

21/12/2009 - 16:32 por Luis Mata | Informe spam
Hola

Tengo un problema

creo una tabla con declare @tabla table(id int, campovariable varchar(15))

luego creo esto:

set @cadena = 'update @tabla set '+@campovariable+''
exec (@cadena)

esto ni funciona

set @cadena = 'update '+@tabla +' set '+ @campovariable +''
exec (@cadena)

esto tampoco funciona:

como puedo armar mi cadena que el exec lo pueda reconocer donde haya
unvolucrado un variable tabla.

Luis
 

Leer las respuestas

#1 Carlos Sacristan
21/12/2009 - 16:43 | Informe spam
La variable tabla tiene que estar dentro del script que ejecutas
dinámicamente. Recuerda que es una variable, y como tal sólo existe en el
contexto en el que la creaste. Para que funcione tendrías que ejecutar

SET @cadena = 'declare @tabla table(id int, campovariable varchar(15))
update @tabla set '+@campovariable+''
exec (@cadena)

Eso, o usar una tabla temporal

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"Luis Mata" wrote in message
news:%
Hola

Tengo un problema

creo una tabla con declare @tabla table(id int, campovariable varchar(15))

luego creo esto:

set @cadena = 'update @tabla set '+@campovariable+''
exec (@cadena)

esto ni funciona

set @cadena = 'update '+@tabla +' set '+ @campovariable +''
exec (@cadena)

esto tampoco funciona:

como puedo armar mi cadena que el exec lo pueda reconocer donde haya
unvolucrado un variable tabla.

Luis

Preguntas similares