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


