SQL Server - Eliminar Registros mediante Trigger

 
Vista:

Eliminar Registros mediante Trigger

Publicado por Carlos (1 intervención) el 19/03/2012 21:13:46
El trigger no realiza lo que se pretende realizar: que es al eliminar uno o mas regitrsos de la tabla debe de restar del monto programado. No se que puede estar mal ya que no actualiza nada.

ALTER TRIGGER [TrMST_PLAN_OPERATIVO_FUENTE_DET_Delete] On [dbo].[MST_PLAN_OPERATIVO_FUENTE_DET]
FOR DELETE

As

Declare @N_IdTarea int
Declare @N_CodFteFto int
Declare @N_Presupuesto numeric(12,2)

Select @N_IdTarea = (Select N_IdTarea From DELETED)
Select @N_CodFteFto = (Select N_CodFteFto From DELETED)
Select @N_Presupuesto = (Select N_Presupuesto From DELETED)

BEGIN

--- Actualiza el Importe Programado por Fuente de Financiamiento
UPDATE MST_TECHOS_PRESUPUESTALES_TM
SET N_Programado = (Isnull(N_Programado,0) - @N_Presupuesto)
WHERE N_CodFteFto = @N_CodFteFto And
N_IdTarea= @N_IdTarea
END
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Eliminar Registros mediante Trigger

Publicado por Isaias (4558 intervenciones) el 21/03/2012 18:19:56
No necesitas declarar variables:

UPDATE MST_TECHOS_PRESUPUESTALES_TM
SET N_Programado = ISNULL(N_Programado,0) - N_Presupuesto
FROM DELETED
WHERE MST_TECHOS_PRESUPUESTALES_TM.N_CodFteFto = DELETED.N_CodFteFto
AND MST_TECHOS_PRESUPUESTALES_TM.N_IdTarea = DELETED.N_IdTarea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar