Sobes.tech
Junior

O que é um trigger?

sobes.tech IA

Resposta da IA

Um trigger é um procedimento armazenado especial na base de dados, que é executado automaticamente quando ocorre um evento específico.

Os eventos que normalmente ativam triggers incluem:

  • INSERT: adicionar novas linhas à tabela.
  • UPDATE: modificar linhas existentes na tabela.
  • DELETE: remover linhas da tabela.

Os triggers podem ser ativados em diferentes momentos em relação ao evento:

  • BEFORE: antes de o evento ocorrer.
  • AFTER: após o evento ocorrer.
  • INSTEAD OF: em vez de executar o evento (frequentemente usado com visões).

Exemplos de uso de triggers:

  1. Manutenção da integridade dos dados: Verificação ou modificação automática de dados ao inserir/atualizar.
  2. Auditoria: Registo de informações sobre alterações de dados numa tabela de logs.
  3. Sincronização de dados: Atualização automática de tabelas relacionadas.
  4. Execução de regras de negócio complexas: Iniciar ações adicionais sob certas condições.

Os triggers são definidos ao nível da tabela e podem referenciar os valores antigos e novos da linha que foi alterada.

-- Exemplo de sintaxe (SQL)
CREATE TRIGGER audit_log
AFTER INSERT ON users
FOR EACH ROW
BEGIN
    INSERT INTO audit (user_id, action, timestamp)
    VALUES (NEW.id, 'insert', NOW());
END;

É importante usar triggers com cautela, pois podem complicar a depuração e afetar o desempenho da base de dados.