Código :
DELIMITER // CREATE TRIGGERS movcancelacion BEFORE UPDATE ON movimientos FOR EACH ROW BEGIN IF NEW.registrado = 0 THEN SET exedente = 0; DECLARE totaldepositos,total FLOAT; SET totaldepositos = SELECT sum(monto) As Depositado FROM movimientos WHERE registrado=1 AND MONTH(fecha)=MONTH(NOW()) AND YEAR(fecha)=YEAR(NOW()) AND id_cliente=OLD.id_cliente; SET total = totaldepositos + OLD.monto; IF total > 25000 THEN UPDATE movimientos SET exedente=total-25000 FROM movimientos WHERE id_movimiento=OLD.id_movimiento; ELSEIF totalmonto = 25000 THEN UPDATE movimientos SET exedente=total FROM movimientos WHERE id_movimiento = OLD.id_movimiento; ELSEIF totalmonto < 25000 THEN UPDATE movimientos SET exedente=total-25000 FROM movimientos WHERE id_movimiento=OLD.id_movimiento; ELSEIF totalmonto <=> NULL THEN IF totalmonto>25000 THEN UPDATE movimientos SET exedente = total-25000 FROM movimientos WHERE id_movimiento=OLD.id_movimiento; ELSE UPDATE movimientos SET exedente = 0 FROm movimientos WHERE id_movimiento=OLD.id_movimiento; END IF END IF /* SET totalmonto = SELECT SUM(OLD.monto) WHERE OLD.id_movimiento=OLD.id_movimiento AND OLD.status=1 AND ;*/ END IF END // DELIMITER ;
Ya intente hacerlo desde consola, cambiando el delimiter,etc... ¿alguien tiene alguna idea?