1
resposta

FUNCTION NÃO RETORNA RESULTADO

Criei uma function pra outra tabela que estou estudando paralelamente, criei a function ok, mas não consigo trazer resultado no select

DELIMITER $$
CREATE FUNCTION `calcula_doadores`(vCpf VARCHAR(11))
RETURNS INTEGER
BEGIN
DECLARE quantidade_doadores  int;
SELECT COUNT(*) INTO quantidade_doadores FROM CADASTRO WHERE CPF = vCpf;
RETURN quantidade_doadores;
END$$
1 resposta

Oi, Suellen! Tudo bem?

Desde já, peço desculpas por demorar a te responder.

Para executar uma função, precisamos utilizar a cláusula SELECT, indicar o nome da função e, entre os parênteses, passar como parâmetro valores específicos (caso seja necessário).

Partindo da função que você compartilhou, um exemplo de chamada é esta:

SELECT calcula_doadores('00000000000')

Observe que, como parâmetro, passei um CPF aleatório. No entanto, em seu cenário, é possível utilizar um dos CPFs registrados no banco de dados.

Ao criar a sua função e chamá-la, obtive resultado durante esse procedimento, Suellen.

Resultado da execução de uma função no MySQL Workbench

Portanto, recomendo que verifique novamente as tabelas e seus respectivos campos, se estas tabelas possuem registros e se você criou e chamou corretamente a função calcula_doadores. Caso o problema persista, estarei aqui para resolvermos juntas!

Um forte abraço!

Fico no aguardo e à disposição