1
resposta

ATUALIZACAO DA TABELA APOS A TRIGGER

EU GEREI MINHA TRIGGER, POREM QUANDO EU CHEQUEI A TABELA NAO ESTAVA ATUALIZADA, ELA SO FICOU ATUALIZADA DEPOIS QUE FIZ UM UPDATE, EU PEGUEI APENAS UM CLIENTE E ATUALIZEI COM A MESMA DATA DE ANIVERSARIO, DAI A TABELA TODA FICOU ATUALIZADA. MINHA DUVIDA E DEPOIS QUE CONSTRUO UMA TRIGGER ELA SO FUNCIONA DEPOIS DE UM INSERT, UPDATE E DELETE????? OU SEJA REFLETE NA TABELA

MINHA TRIGGER E ESSA ABAIXO E CONSEGUI FAZER ELA CALCULAR TUDO DIAS MESES ANOS, A DO PROFESSOR AS VEZES A PESSOA NAO TINHA FEITO ANIVERSARIO E ELA CONSTAVA QUE JA TINHA FEITO

CREATE TRIGGER TG_CLIENTES_IDADE ON CLIENTES AFTER INSERT, UPDATE, DELETE AS BEGIN

UPDATE CLIENTES SET IDADE= CASE WHEN DATEADD (YEAR, DATEDIFF(YEAR, [DATA NASCIMENTO], GETDATE()), [DATA NASCIMENTO]) > GETDATE() THEN DATEDIFF (YEAR,[DATA NASCIMENTO], GETDATE()) - 1 ELSE DATEDIFF(YEAR,[DATA NASCIMENTO],GETDATE()) END FROM CLIENTES

END;

1 resposta

Trigger significa gatilho em português. A trigger só é 'acionada' quando alguma ação acontece.

A sua por exemplo:

CREATE TRIGGER TG_CLIENTES_IDADE ON CLIENTES AFTER INSERT, UPDATE, DELETE AS BEGIN

Foi criada para ser acionada AFTER INSERT, UPDATE, DELETE, ou seja, depois da inserção, atualização ou remoção de alguma linha da tabela.

Em tempo, parabéns pela ideia de calcular a idade considerando se a pessoa fez ou não aniversário no ano atual!