Hola a todos,
He estado trabajando en un trigger por hace un par de horas sin lograr mi objetivo.
Bien, lo que quiero hacer es que al borrar un renglón de una tabla llamada
Entradas se actualicen los saldos de la tabla
SaldosI automáticamente con un trigger.
Si los saldos alcanzan el valor menor (0.00) se borra el renglón de la tabla
SaldosI
El código de mi trigger es el siguiente:
Código SQL:
Ver originalCREATE TRIGGER BorraEntrada ON Entradas FOR DELETE
AS
BEGIN
DECLARE @cod INT
DECLARE @mes CHAR(6)
DECLARE @EU NUMERIC(10, 2)
DECLARE @EV NUMERIC(10, 3)
SELECT @cod = codigo, @mes = SUBSTRING(fecha2, 1, 6), @EU = cantidad, @EV = total FROM Deleted
UPDATE SaldosI SET entradaV = entradaV - @EV, entradaC = entradaC - @EU WHERE codigo = @cod AND mes = @mes
DECLARE @cant NVARCHAR(10)
SET @cant = N'SELECT entradaC FROM SaldosI WHERE codigo = @cod AND mes = @mes'
EXEC sp_executesql @cant, N'@cod INT, @mes CHAR(6)', @cod, @mes
IF (@cant = '0.00')
DELETE FROM SaldosI WHERE codigo = @cod AND mes = @mes
END
La parte de:
Código SQL:
Ver originalDECLARE @cant NVARCHAR(10)
SET @cant = N'SELECT entradaC FROM SaldosI WHERE codigo = @cod AND mes = @mes'
EXEC sp_executesql @cant, N'@cod INT, @mes CHAR(6)', @cod, @mes
[/CODE]
No se si está bien, lo hice basándome en unos ejemplos que encontré y es justo esa parte la que quiero saber cómo sería en dado caso que esté yo mal.