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

columna específica de inserted

1 view
Skip to first unread message

Guillermo Villanueva

unread,
Jul 4, 2008, 10:22:39 AM7/4/08
to
Hola! cómo les va?
Necesito obtener el valor de una columna de la tabla inserted en un trigger
FOR INSERT
al nombre de la columna lo tengo en una variable @FieldName
Intenté hacer lo siguiente:
set @SQL0 = 'select @fieldValue = '+@fieldName+' from inserted'
EXEC(@SQL0)
Podrían decirme como hacerlo?
Desde ya muchas gracias.

Guillermo


Isaias

unread,
Jul 4, 2008, 12:14:00 PM7/4/08
to
Como estas utilizando una VARIABLE en tu entorno del query dinamico, deberias
probar con SP_EXECUTESQL, solo que desconozco si el trigger te lo permita usar
--
Saludos
IIslas

Maxi

unread,
Jul 7, 2008, 7:44:10 PM7/7/08
to
Hola, mmm y esa variable como la llena?

"Guillermo Villanueva" <guillermin...@nospam.gmail> escribi� en el
mensaje de noticias news:%23pZ9rFe...@TK2MSFTNGP04.phx.gbl...
> Hola! c�mo les va?


> Necesito obtener el valor de una columna de la tabla inserted en un
> trigger FOR INSERT
> al nombre de la columna lo tengo en una variable @FieldName

> Intent� hacer lo siguiente:


> set @SQL0 = 'select @fieldValue = '+@fieldName+' from inserted'
> EXEC(@SQL0)

> Podr�an decirme como hacerlo?

Guillermo Villanueva

unread,
Jul 8, 2008, 1:24:45 PM7/8/08
to
Lo lleno en un ciclo que recorre todos los campos de la tabla en cuestión,
en un ratito mando el trigger que hice, me parece que deben haber formas mas
eficientes.
Gracias.

"Maxi" <max...@infovia.com.ar.sacame> escribió en el mensaje
news:%23Z5%23ZuI4I...@TK2MSFTNGP04.phx.gbl...


> Hola, mmm y esa variable como la llena?
>

> "Guillermo Villanueva" <guillermin...@nospam.gmail> escribió en el

> mensaje de noticias news:%23pZ9rFe...@TK2MSFTNGP04.phx.gbl...

>> Hola! cómo les va?


>> Necesito obtener el valor de una columna de la tabla inserted en un
>> trigger FOR INSERT
>> al nombre de la columna lo tengo en una variable @FieldName

>> Intenté hacer lo siguiente:


>> set @SQL0 = 'select @fieldValue = '+@fieldName+' from inserted'
>> EXEC(@SQL0)

>> Podrían decirme como hacerlo?

Monica

unread,
Jul 9, 2008, 11:21:00 AM7/9/08
to
Hola,
Yo necesito hacer algo parecido a tu query. Yo trabajo con sybase y no me
deja guardar el valor en una variable en el query dinamico, no se si se puede.
O por lo menos quisiera guardar el resultado del query en otra variable,
pero tambien me da error.
Como puedo hacerlo???


Guillermo Villanueva

unread,
Jul 10, 2008, 3:40:14 PM7/10/08
to
Les muestro como lo solucíoné :

CREATE TRIGGER titulares_insert ON [dbo].[Titulares]
FOR INSERT
AS
declare @fieldValue varchar (1000),
@Param nvarchar(4000),
@SQL0 nvarchar(4000),
@Tabla varchar(40),

set @Tabla = 'Titulares'
...
select * into #TempInserted FROM inserted
...
...
set @fieldName = /* Obtener acá el nombre del campo asignandolo a la
variable */
set @SQL0 = N'SELECT @Valor = CAST(' + @fieldName + N' AS varchar(1000))
FROM #TempInserted'
set @Param = N'@Valor varchar(1000) OUTPUT'
EXEC sp_executesql @SQL0, @Param, @Valor = @fieldValue OUTPUT
...
...
/* en la variable @fieldValue tengo el valor del campo convertido a
varchar(1000)*/
...
...

Avisame si te sirve
"Monica" <Mon...@discussions.microsoft.com> escribió en el mensaje
news:4B7E2511-D1E0-413F...@microsoft.com...

0 new messages