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