Trigger

11/02/2005 - 03:53 por Jasonfabian | Informe spam
Hola,
necesito q cuando se intente insertar o actualizar un
registro, modifique el valor de un campo del registro,
para q de esta forma inserte un valor fijo sin importar lo
q el usuario intente hacer.
Gracias

Preguntas similare

Leer las respuestas

#1 Pedro
11/02/2005 - 10:38 | Informe spam
Hola:

IF Update (NombreCampo) /* Q se ejecute sólo si se quiere modificar ese
campo*/

BEGIN
UPDATE NombreTable SET NombreCampo = ValorConstante FROM
Inserted WHERE NombreTabla.Id = Inserted.Id
END

Inserted guarda los valores que quieres inteducir, sólo ahí te relacionarlo
con la tabla para filtrar y quedarnos sólo con el registro q nos interesa.
id = Nombre del Campo Clave.

Espero q sea de ayuda.

Un Saludo
Respuesta Responder a este mensaje
#2 Pedro Luna Montalvo, MVP
11/02/2005 - 20:31 | Informe spam
Ojo que esta linea:
UPDATE NombreTable
SET NombreCampo = ValorConstante
FROM Inserted
WHERE NombreTabla.Id = Inserted.Id

Provocara que se invoque el trigger recursivamente.

En su lugar agregale una condicion mas a la sentencia:

IF Update (NombreCampo) /* Q se ejecute sólo si se quiere modificar ese
campo*/
BEGIN
UPDATE NombreTable
SET NombreCampo = ValorConstante
FROM Inserted
WHERE NombreTabla.Id = Inserted.Id
AND NombreTabla.NombreCampo != ValorConstante
END


Saludos
Pedro Luna, [MVP VB.NET]
Gye, Ecu

"Pedro" escribió en el mensaje
news:
Hola:

IF Update (NombreCampo) /* Q se ejecute sólo si se quiere modificar ese
campo*/

BEGIN
UPDATE NombreTable SET NombreCampo = ValorConstante FROM
Inserted WHERE NombreTabla.Id = Inserted.Id
END

Inserted guarda los valores que quieres inteducir, sólo ahí te


relacionarlo
con la tabla para filtrar y quedarnos sólo con el registro q nos interesa.
id = Nombre del Campo Clave.

Espero q sea de ayuda.

Un Saludo


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