Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Actualizar variable table mediante exec()

3 views
Skip to first unread message

Luis Mata

unread,
Dec 21, 2009, 10:32:31 AM12/21/09
to
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+'=15'
exec (@cadena)

esto ni funciona

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

esto tampoco funciona:

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

Luis

Carlos Sacristan

unread,
Dec 21, 2009, 10:43:14 AM12/21/09
to
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+'=15'
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" <lm...@cclf.com.pe> wrote in message
news:%23VCr6Ml...@TK2MSFTNGP06.phx.gbl...

Luis Mata

unread,
Dec 21, 2009, 11:21:51 AM12/21/09
to
ummm no me sirve hacer esto:
lo que sucede que en otro hilo me sugieren utilizar variable tabla
-----------
Prueba en vez de crear la tabla temporal, crea una variable de tipo table.

Puede ser no estoy seguro de que al ser tabla temporal, trate de crearla en
el tempdb local y no en el remoto.
----------
pero en mi SP se hace referencia en muchas partes a la variable table, y no
me serviria hacer una cadena a un sp que son como 2 hojas A4.

mI problea es que la ejecucion de un SP me esta saturando el ancho ed banda,
bueno no solo uno varios. y aun no resuelvo si es por causa mis o falla del
sql 2008 sp1.

Y esto ya me suena a un error grave del sql. porque me perjudica mi Sistema.

Luis


"Carlos Sacristan" <nom...@nomail.com> escribi� en el mensaje de noticias
news:%23xvcQRl...@TK2MSFTNGP06.phx.gbl...

Aguardientico

unread,
Dec 22, 2009, 1:03:31 AM12/22/09
to
Luis, prueba creandola como @@tabla para que sea una variable global y la
puedas ver dentro del contexto del sql dinamico.

"Luis Mata" <lm...@cclf.com.pe> wrote in message

news:uzWzeolg...@TK2MSFTNGP06.phx.gbl...

> __________ Information from ESET NOD32 Antivirus, version of virus
> signature database 4707 (20091221) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>

__________ Information from ESET NOD32 Antivirus, version of virus signature database 4707 (20091221) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

Luis Mata

unread,
Dec 22, 2009, 1:10:01 PM12/22/09
to
y como sera eso, porque me sale errores.

Luis
"Aguardientico" <gusgon1 at nospam dot com> escribi� en el mensaje de
noticias news:uSty8xsg...@TK2MSFTNGP05.phx.gbl...

Aguardientico

unread,
Dec 26, 2009, 7:15:56 PM12/26/09
to
Lo siento Luis fue un lapsus brutus. Me confund� entre # y ## con @ y @@, no
se puede usar la doble arroba.

"Luis Mata" <lm...@cclf.com.pe> wrote in message

news:ebzroJzg...@TK2MSFTNGP04.phx.gbl...

> signature database 4710 (20091222) __________


>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>

__________ Information from ESET NOD32 Antivirus, version of virus signature database 4717 (20091226) __________

0 new messages