Coloquei vários códigos de produto e sempre recebo a mesma mensagem dizendo que é um produto barato mesmo sendo o código do produto mais caro.
DELIMITER //
DROP PROCEDURE IF EXISTS IF_ANINHADO;
CREATE PROCEDURE `IF_ANINHADO` (CODIGO VARCHAR(20))
BEGIN
DECLARE PRECO FLOAT;
DECLARE RESULTADO VARCHAR(30);
SELECT PRECO_DE_LISTA INTO PRECO FROM TABELA_DE_PRODUTOS WHERE CODIGO = CODIGO LIMIT 1;
IF PRECO >= 12 THEN
SET RESULTADO = 'ESSE É UM PRODUTO CARO';
ELSEIF PRECO >= 7 AND PRECO < 12 THEN
SET RESULTADO = 'ESSE É UM PRODUTO EM CONTA';
ELSE
SET RESULTADO = 'ESSE É UM PRODUTO BARATO';
END IF;
SELECT RESULTADO;
END//
CALL IF_ANINHADO('1037797');