columna específica de inserted

04/07/2008 - 16:22 por Guillermo Villanueva | Informe spam
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

Preguntas similare

Leer las respuestas

#1 Isaias
04/07/2008 - 18:14 | Informe spam
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


"Guillermo Villanueva" wrote:

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



Respuesta Responder a este mensaje
#2 Maxi
08/07/2008 - 01:44 | Informe spam
Hola, mmm y esa variable como la llena?

"Guillermo Villanueva" escribió en el
mensaje de noticias news:%
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

Respuesta Responder a este mensaje
#3 Guillermo Villanueva
08/07/2008 - 19:24 | Informe spam
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" escribió en el mensaje
news:%23Z5%
Hola, mmm y esa variable como la llena?

"Guillermo Villanueva" escribió en el
mensaje de noticias news:%
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




Respuesta Responder a este mensaje
#4 Monica
09/07/2008 - 17:21 | Informe spam
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???
Respuesta Responder a este mensaje
#5 Guillermo Villanueva
10/07/2008 - 21:40 | Informe spam
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" escribió en el mensaje
news:
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???


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida