1
resposta

[Dúvida] Meu exercício deu errado

Oi, gostaria de entender o porque deu erro. A minha intenção é fornecer o parâmetro de data para a consulta me retornar a quantidade de notas daquele dia. Podem ajudar, por favor?

Segue o código:

CREATE PROCEDURE `Quantidade_Notas` (numinotas DATE)
BEGIN
    SELECT DATA_VENDA INTO numinotas, COUNT(numinotas) AS QUANTIDADE 
    FROM NOTAS_FISCAIS
END
1 resposta

Olá, João, tudo bem?

Você está passando o campo que recebe o valor data numinotas , para receber também o valor da contagem de notas, além, de não estar aplicando nenhum filtro para a consulta.

Então, você pode especificar a data para ser passada como parâmetro, mas, precisa declarar outra variável para receber a quantidade de notas. Já que, a data passada como parâmetro, deve ser utilizada no WHERE como filtro.

CREATE PROCEDURE `Quantidade_Notas`(data DATE)
BEGIN
DECLARE numinotas  INT;
SELECT COUNT(*) INTO numinotas  FROM NOTAS_FISCAIS WHERE DATA_VENDA = data;
SELECT numinotas;
END

Espero ter ajudado e bons estudos!