Duda en procedimiento
Hay un ejemplo con la instrucción IF que aparece en la web mysqltutorial.org:
MySQL IF Statement
El procedimiento GetCustomerLevel devuelve en el parámetro de salida pCustomerLevel el nivel del cliente correspondiente al número de cliente que recibe en el parámetro pCustomerNumber.
Puede ocurrir que el cliente no exista, en cuyo caso devolvería el nivel SILVER.
DELIMITER $$ CREATE PROCEDURE GetCustomerLevel( IN pCustomerNumber INT, OUT pCustomerLevel VARCHAR(20)) BEGIN DECLARE credit DECIMAL DEFAULT 0; SELECT creditLimit INTO credit FROM customers WHERE customerNumber = pCustomerNumber; IF credit > 50000 THEN SET pCustomerLevel = 'PLATINUM'; ELSEIF credit <= 50000 AND credit > 10000 THEN SET pCustomerLevel = 'GOLD'; ELSE SET pCustomerLevel = 'SILVER'; END IF; END $$ DELIMITER ;
Ejecución
CALL GetCustomerLevel(447, @level); SELECT @level; CALL GetCustomerLevel(400, @level); SELECT @level;
¿Cómo puedo saber si el cliente existe o no?
¿Qué modificación tengo que hacer en el código del procedimiento GetCustomerLevel?
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.