do a correct if else in MySQL procedure?

0

I have a condition that will be executed depending on the data that is being sent to the procedure. This is my code:

CREATE DEFINER = erp@localhost PROCEDURE sp_stockProductoMovimientoAlmacen(
    idProducto VARCHAR(50),
    operacion CHAR(6),
    cantidad INT,
    sucursal INT(2)
)
BEGIN
    IF operacion = 'suma' THEN
        UPDATE productoStockMedida psm INNER JOIN producto p ON p.id_producto = psm.id_producto SET psm.stock = psm.stock + (cantidad) WHERE p.id_producto = id_producto AND p.id_tipo_almacen = sucursal;
    ELSE IF operacion = 'resta' THEN
        UPDATE productoStockMedida psm INNER JOIN producto p ON p.id_producto = psm.id_producto SET psm.stock = psm.stock - (cantidad) WHERE p.id_producto = id_producto AND p.id_tipo_almacen = sucursal;
    ELSE
        /* ESCRIBO ESTE QUERY POR TEMA DE SINTAXIS DEL CASE WHEN, ESTE QUERY NO AFECTARA AL STOCK DE NINFUN PRODUCTO */
        UPDATE producto SET stock = stock - (cantidad) WHERE id_producto = '000000' AND id_tipo_almacen='000000';
    END IF;
END

this is the error message that the MYSQL tells me

1064 - Something is wrong in its syntax near '' on line 9

    
asked by gcarlo16 21.07.2018 в 18:34
source

1 answer

1

Try to correct the ELSE IF, it must be stuck not separated ELSEIF, it's the only thing I can notice in your code. I hope it works for you, I remain attentive.

    
answered by 22.07.2018 в 00:52