Os bancos de dados modernos são tão complexos e os dados neles contidos estão tão interconectados que procedimentos especiais são necessários para protegê-los de violação acidental. Os gatilhos permitem que você mantenha todos os dados intactos, mesmo se um usuário inexperiente pressionar acidentalmente o botão errado.
O objetivo principal de um gatilho é preservar a integridade referencial dos dados. Isso significa que mesmo que o banco de dados mude, sempre há a opção de reverter tudo de volta. Eles também podem ser usados para fazer alterações em cascata em tabelas vinculadas, nas quais os links mudam ao mesmo tempo e não os quebram.
O gatilho em si é um procedimento armazenado que é executado automaticamente quando os dados são alterados por uma pessoa ou um programa de aplicativo. Ele "liga" assim que a alteração dos dados é concluída. A mudança de dados e o gatilho acionado são considerados como uma transação (ação), portanto, quando um erro ocorre ou é detectado, tudo pode ser devolvido, isso é chamado de rollback.
Operação de gatilho
- Mudanças em cascata nas tabelas de dados relacionadas. Por exemplo, se você deseja excluir uma coluna ou linha específica em todas as tabelas de uma vez, um gatilho é usado.
- Revertendo para os dados da tabela original
- Rastreando várias partidas. Por exemplo, um esquema de gatilho pode proibir o preço de um item de cair abaixo do preço de compra.
- Análise de várias opções de mudanças. O gatilho é muito conveniente para calcular opções antes e depois da modificação. Por exemplo, você pode calcular o que acontecerá se todos os preços forem reduzidos em 5% ou em quanto o custo de todas as mercadorias aumentará com um aumento nos custos de transporte. Após a análise, todos os dados podem ser devolvidos à sua forma original.
Crie um gatilho
Os gatilhos são criados no banco de dados atual, mas você pode especificar objetos localizados em outros bancos de dados neles. O nome do proprietário do acionador deve ser igual ao nome do proprietário da tabela. Crie um gatilho na cláusula Creat. O campo For especifica as declarações de alteração de dados após a ativação, das quais o gatilho deve ser ativado. Por exemplo, pode ser inserir, atualizar ou excluir em uma tabela.
Em seguida, você deve especificar as ações de gatilho ou condições de gatilho. Essas são as ações que devem ser seguidas em resposta à inserção, exclusão ou atualização de dados.