Oi, Yuri! Tudo bem?
Alguns fatores podem estar impedindo que a tabela de clientes seja atualizada com os novos valores, como problemas na criação da stored procedure, não utilização do comando call
ou por não buscar os registros de tabela_de_clientes
com SELECT
.
Sendo assim, para termos êxito na atividade, teremos que:
1. Criar novamente a stored procedure atualizando_idade
:
USE `sucos_vendas`;
DROP procedure IF EXISTS `atualizando_idade`;
DELIMITER $$
USE `sucos_vendas`$$
CREATE PROCEDURE `atualizando_idade`()
BEGIN
UPDATE tabela_de_clientes set idade = timestampdiff(year, tabela_de_clientes.data_de_nascimento, curdate());
END$$
DELIMITER ;
Além de deletarmos a stored procedure inicial, realizamos novamente toda a sequência de comandos que ela possuía, garantindo que tudo esteja correto durante a criação.
Para executar os comandos acima, você pode copiar todo o bloco de código e colá-lo em um novo arquivo. Selecione todo o conteúdo e clique no botão de raiozinho, o qual efetua a execução do script SQL.
2. Chamar a stored procedure com a cláusula CALL
:
CALL atualizando_idade;
Quando utilizamos o comando CALL
juntamente com uma stored procedure, fazemos com que ela seja executada e, consequentemente, todas as ações associadas a ela sejam feitas — como a atualização do campo idade
de tabela_de_clientes
.
3. Visualizar as mudanças:
SELECT * FROM TABELA_DE_CLIENTES;
A partir do comando SELECT
e do uso do asterisco, afirmamos que desejamos buscar todos os registros da tabela de clientes. Dessa maneira, poderemos visualizar as idades já atualizadas.
Yuri, espero ter ajudado com o passo a passo acima. Caso o problema persista, sugiro que abra um novo tópico no fórum para podermos olhar mais de perto sua questão. Estarei aqui para solucionar isso juntos!
Abraços.