Este es el trigger:
Código MySQL:
Ver originalDELIMITER $$
DROP TRIGGER /*!50032 IF EXISTS */ `Actualiza_Cuentas_Por_Cobrar`$$
/*!50017 DEFINER = 'proi'@'localhost' */
SET nuevoAbono
=(SELECT Abono
FROM cuentas_por_cobrar
WHERE Cuenta_Por_Cobrar_Id
=new.Cuenta_Por_Cobrar_Id
)+new.Abono
; SET nuevoSaldo
= (SELECT Saldo
FROM cuentas_por_cobrar
WHERE Cuenta_Por_Cobrar_Id
=new.Cuenta_Por_Cobrar_Id
) - new.Abono
;
SET Abono
=nuevoAbono
, Saldo
=nuevoSaldo
WHERE Cuenta_Por_Cobrar_Id
=new.Cuenta_Por_Cobrar_Id
;
INSERT INTO caja
(Caja_Id
, Tipo_Id
, Origen_Id
, Ingreso_Id
, Fecha
, Descripcion
, Monto
, Numero_Folio
, Estatus_Registro
) VALUES (nuevaLlave
, 'Ingreso', 'Cuentas_Por_Cobrar', new.Detalle_Cuentas_Por_Cobrar_Id
, new.Fecha
, 'Abono de cliente', new.Abono
, new.Moneda
, 'Activo'); INSERT INTO bancos
(Bancos_Id
, Tipo_Id
, Origen_Id
, Ingreso_Id
, Fecha
, Descipcion
, Monto
, Numero_Folio
, Estatus_Registro
) VALUES (nuevaLlave
, 'Ingreso', 'Cuentas_Por_Cobrar', new.Detalle_Cuentas_Por_Cobrar_Id
, new.Fecha
, 'Abono de cliente', new.Abono
, new.Moneda
, 'Activo'); $$
DELIMITER ;
0 row(s) affected
--------------------------------------------------
Query:
DROP TRIGGER /*!50032 IF EXISTS */ `Actualiza_Cuentas_Por_Cobrar`
Query:
DROP TRIGGER /*!50032 IF EXISTS */ `Actualiza_Cuentas_Por_Cobrar`
0 row(s) affected, 1 warning(s)
Note:
To see complete list of warning
(s
), enable Tools
-> Preferences
-> General
-> Show Warning
(s
) in Messages Tab
--------------------------------------------------
Query:
CREATE /*!50017 DEFINER = 'proi'@'localhost' */ TRIGGER `Actualiza_Cuentas_Por_Cobrar` AFTER INSERT ON `detalle_cuentas_por_cobr...
Query: CREATE /*!50017 DEFINER = 'proi'@'localhost' */ TRIGGER `Actualiza_Cuentas_Por_Cobrar` AFTER INSERT ON `detalle_cuentas_por_cobr...
Error Code: 1064
You have an error
in your SQL syntax
; check the manual that corresponds
to your MySQL server
version for the
right syntax
to use near
'==0) then set nuevaLlave=(SELECT IFNULL(MAX(Caja_Id),0)+1 FROM caja);
insert' at line 18