Junior — Middle
Quais são os cenários de uso de triggers em sistemas de gestão de bases de dados?
sobes.tech IA
Resposta da IA
Os triggers em SGBDs são procedimentos especiais que são executados automaticamente em certos eventos (inserção, atualização, eliminação de dados). Principais cenários de uso:
- Verificação automática e manutenção da integridade dos dados. Por exemplo, ao eliminar um registo numa tabela, eliminar automaticamente os registos relacionados noutra.
- Registo de alterações. Registar o histórico de alterações de dados para auditoria.
- Cálculo e atualização de valores derivados. Por exemplo, atualizar um campo com a soma ou o estado ao alterar dados relacionados.
- Restrição de acesso e validação. Verificação de condições antes de alterar dados.
Exemplo de um trigger no PostgreSQL que regista alterações na tabela de utilizadores:
CREATE TRIGGER log_user_update
AFTER UPDATE ON users
FOR EACH ROW
EXECUTE FUNCTION log_update();
CREATE FUNCTION log_update() RETURNS trigger AS $$
BEGIN
INSERT INTO user_changes(user_id, changed_at) VALUES (NEW.id, now());
RETURN NEW;
END;
$$ LANGUAGE plpgsql;