Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Eu consigo buscar o nome do produto para adicionar?

Estou tentando criar de uma forma que eu consiga inserir o nome do produto, mas ainda não achei a solução, to quebrando a cabeça aqui, mas nenhum dos métodos que eu to tentando tem funcionado. Por enquanto consegui trazer apenas informações das variáveis que eu mesmo criei. Segue o código.

CREATE DEFINER=`root`@`localhost` PROCEDURE `Preco_Produto`(vCod varchar(10))
BEGIN
    DECLARE vPreco float(4,2);
    declare msg varchar(50);


    select preco_de_lista into vPreco from tabela_de_produtos where codigo_do_produto = vCod;


    if vPreco >= 12.00 then
        set msg = 'Muito Caro';
    elseif vPreco >= 7.00 and  vPreco<= 11.99 then
        set msg = 'Em conta';
    elseif vPreco>= 4.01 and  vPreco<= 6.99 then
        set msg = 'Preço baixo';
    else
        set msg = 'Promoção surreal';
    end if;

        select vCod as 'Código' , vPreco as 'Preço' , msg;



END

Aqui no SELECT final, eu queria acrescentar uma coluna com o nome do produto também. Mas não consegui ainda fazer essa busca e adapta-la

1 resposta
solução!

Resolvi o problema, o select que eu estava fazendo antes, estava sem o where. Agora adicionei e consegui buscar o nome também do produto.

CREATE DEFINER=`root`@`localhost` PROCEDURE `Preco_Produto`(vCod varchar(10))
BEGIN
    DECLARE vPreco float(4,2);
    declare msg varchar(50);
    declare vNome varchar(50);


    select preco_de_lista into vPreco from tabela_de_produtos where codigo_do_produto = vCod;
    select nome_do_produto into vNome from tabela_de_produtos where codigo_do_produto = vCod;


    if vPreco >= 12.00 then
        set msg = 'Muito Caro';
    elseif vPreco >= 7.00 and  vPreco<= 11.99 then
        set msg = 'Em conta';
    elseif vPreco>= 4.01 and  vPreco<= 6.99 then
        set msg = 'Preço baixo';
    else
        set msg = 'Promoção surreal';
    end if;

        select vCod as 'Código' , vPreco as 'Preço' , vNome as 'Produto', msg;



END