1
resposta

Desafio: calculando a idade do cliente

CREATE TRIGGER TG_CLIENTES_IDADE
ON [dbo].[CLIENTES]
AFTER INSERT, UPDATE, DELETE
AS BEGIN
UPDATE CLIENTES SET IDADE = DATEDIFF(YEAR, [DATA_NASCIMENTO], GETDATE());
END;

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Marcia! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.

Gostei da forma como você utilizou o DATEDIFF para calcular a idade dos clientes. Essa abordagem mostra boa compreensão sobre funções de data no SQL Server.

Uma dica interessante para o futuro é registrar as alterações feitas pela trigger em uma tabela de histórico, para monitorar mudanças nos dados. Veja como pode fazer isso:


CREATE TRIGGER TG_LOG_IDADE
ON [dbo].[CLIENTES]
AFTER UPDATE
AS
BEGIN
    INSERT INTO LOG_ALTERACOES (ID_CLIENTE, DATA_ALTERACAO, DESCRICAO)
    SELECT i.ID, GETDATE(), 'Idade atualizada automaticamente pela trigger'
    FROM inserted i;
END;

Esse código cria um log simples registrando o momento em que a idade foi atualizada, o que ajuda em auditorias e controle de alterações.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!