Desencadenador para instruccion Update

19/02/2005 - 02:12 por Francisco Leiva | Informe spam
Hola amigos, tengan buen día, necesitaba ayuda para poder realizar un
trigger que maneje el evento actualizar de una tabla

El problema que tengo es el siguiente:

Cuando se actualice un campo de la tabla yo necesito obtener tanto el valor
de la columna que se actualiza como un valor de otra columna que me servirá
como filtro para poder actualizar otra tabla con el valor nuevo que he
obtenido

he leido la ayuda y de lo que me he enterado es que
para recuperar el nuevo valor de un desencadenador INSERT o UPDATE, debo
combinar tanto la tabla lógica inserted con la tabla de actualización
original
, pero en realidada no se como hacerlo.

Este es el trigger que he creado actualmente pero no me da los resultados
que espero,

CREATE TRIGGER tr_Actuliza_Evaluacion
ON tbl_empleados
FOR INSERT, UPDATE
AS
Declare @DPDEval varchar(10), @DPD varchar(10)
If Update(Depende_De)
Begin
select @DPDEval = Depende_De, @DPD = DPD from tbl inserted
update tbl_evaluacion set DPDEval = @DPDEval where DPD = @DPD
end
BEGIN
RAISERROR (50009, 16, 10)
END
GO

Si tengo algun paso que debo realizar y no lo he hecho les estarí muy
agradecido que me ayudaran a resolverlo

Muchas gracias de Antemano

Buen Día
 

Leer las respuestas

#1 ulises
19/02/2005 - 05:23 | Informe spam
Te podría servir como ejemplo :

if update(depende_de)
begin
update tbl_evaluacion
set DPDEval = i.Depende_De
from tbl_evaluacion t join inserted i on t.DPD = i.DPD
end

Saludos,
Ulises

On Fri, 18 Feb 2005 19:12:49 -0600, "Francisco Leiva"
wrote:

Hola amigos, tengan buen día, necesitaba ayuda para poder realizar un
trigger que maneje el evento actualizar de una tabla

El problema que tengo es el siguiente:

Cuando se actualice un campo de la tabla yo necesito obtener tanto el valor
de la columna que se actualiza como un valor de otra columna que me servirá
como filtro para poder actualizar otra tabla con el valor nuevo que he
obtenido

he leido la ayuda y de lo que me he enterado es que
para recuperar el nuevo valor de un desencadenador INSERT o UPDATE, debo
combinar tanto la tabla lógica inserted con la tabla de actualización
original
, pero en realidada no se como hacerlo.

Este es el trigger que he creado actualmente pero no me da los resultados
que espero,

CREATE TRIGGER tr_Actuliza_Evaluacion
ON tbl_empleados
FOR INSERT, UPDATE
AS
Declare @DPDEval varchar(10), @DPD varchar(10)
If Update(Depende_De)
Begin
select @DPDEval = Depende_De, @DPD = DPD from tbl inserted
update tbl_evaluacion set DPDEval = @DPDEval where DPD = @DPD
end
BEGIN
RAISERROR (50009, 16, 10)
END
GO

Si tengo algun paso que debo realizar y no lo he hecho les estarí muy
agradecido que me ayudaran a resolverlo

Muchas gracias de Antemano

Buen Día


Preguntas similares