espero me puedan ayudar, de antemano GRACIAS!
Código:
Y este es el error:DELIMITER $$ USE `proiplus`$$ DROP TRIGGER /*!50032 IF EXISTS */ `Actualiza_Cuentas_Por_Cobrar`$$ CREATE /*!50017 DEFINER = 'proi'@'localhost' */ TRIGGER `Actualiza_Cuentas_Por_Cobrar` AFTER INSERT ON `detalle_cuentas_por_cobrar` FOR EACH ROW BEGIN DECLARE nuevoAbono DECIMAL(10,2); DECLARE nuevoSaldo DECIMAL(10,2); DECLARE nuevaLlave VARCHAR(5); 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; UPDATE cuentas_por_cobrar SET Abono=nuevoAbono, Saldo=nuevoSaldo WHERE Cuenta_Por_Cobrar_Id=new.Cuenta_Por_Cobrar_Id; IF (STRCMP(new.FormaPago, "Efectivo")==0) THEN CALL Crear_Llave_Caja(@llave); SET nuevaLlave=(SELECT @llave); INSERT INTO caja (Caja_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'); ELSE THEN CALL Crear_Llave_Bancos(@llave); SET nuevaLlave=(SELECT @llave); 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'); END IF; END; $$ DELIMITER ;
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
call Crear_Llave_Caja(@llave);
set nuevaLlave=(select @llave);
i' at line 16