Escolar Documentos
Profissional Documentos
Cultura Documentos
z
Procedimentos,
Funções e Triggers
Introdução
z
O termo trigger (gatilho em inglês) define uma estrutura do banco de dados que funciona, como o nome sugere,
como uma função que é disparada mediante alguma ação. Geralmente essas ações que disparam os triggers são
alterações nas tabelas por meio de operações de inserção, exclusão e atualização de dados (insert, delete e
update).
Um trigger está intimamente relacionado a uma tabela, sempre que uma dessas ações é efetuada sobre essa
tabela, é possível dispará-lo para executar alguma tarefa.
Neste artigo veremos como trabalhar com triggers no SQL Server, através de um exemplo que simula uma
situação real, para facilitar o entendimento.
Um Trigger é um procedimento armazenado no banco de dados que é chamado automaticamente sempre que
ocorre um evento especial no banco de dados. Por exemplo, um acionador pode ser chamado quando uma linha
é inserida em uma tabela especificada ou quando determinadas colunas da tabela estão sendo atualizadas.
Geralmente essas ações que acionam os triggers são alterações nas tabelas por meio de operações de inserção,
exclusão e atualização de dados (insert, delete e update).
z
Existem duas classes de Triggers no SQL
Triggers DML (Data Modification Language): Esta é a classe de Triggers mais usada.
Nesse caso, o evento de disparo é uma declaração de modificação de dados; poderia
ser uma instrução de inserção, atualização ou exclusão em uma tabela ou em uma
exibição.
z
Os Triggers DML têm tipos diferentes
Utilize o comando CREATE TRIGGER na primeira linha acompanhado do nome do trigger — que pode ser qualquer
um;
Na segunda linha, adicione a cláusula ON acompanhada do nome da tabela do banco de dados da sua aplicação;
• Na terceira linha, devem estar os comandos AFTER/BEFORE (DEPOIS/ANTES),
acompanhados da operação desejada (inserção, atualização ou remoção). Ou seja, você vai
definir se uma operação de inserção vai ocorrer antes ou depois de determinada ação, por
exemplo;
• Na quarta e quinta linha, são os comandos do banco de dados que você irá executar
para complementar o trigger.
Os parâmetros
z são:
• Nome do trigger: nome que identificará o gatilho como objeto do banco de dados. Deve seguir as
regras básicas de nomenclatura de objetos.
• Nome da tabela: tabela à qual o gatilho estará ligado, para ser disparado mediante ações de insert,
update ou delete.
For/after/instead of: uma dessas opções deve ser escolhida para definir o momento em que o
trigger será disparado. FOR é o valor padrão e faz com o que o gatilho seja disparado junto da
ação. AFTER faz com que o disparo se dê somente após a ação que o gerou ser concluída.
INSTEAD OF faz com que o trigger seja executado no lugar da ação que o gerou.
Insert/update/delete: uma ou várias dessas opções (separadas por vírgula) devem ser indicadas para
informar ao banco qual é a ação que disparará o gatilho. Por exemplo, se o trigger deve ser
disparado após toda inserção, deve-se utilizar AFTER INSERT.
Funções
z Especiais para trigger
As funções são feitas para facilitar a codificação. O SQL Server inclui um conjunto de funções especiais
que só podem ser usadas dentro dos gatilhos. Essas funções nos permitem obter informações que, caso
contrário, não seríamos capazes de obter facilmente.
Vimos que os Triggers no SQL são bem úteis quando precisamos disparar
eventos de forma automática quando acontecer algum evento que seja
importante para nós, como um INSERT em uma tabela de juros, assim os valores
de outras tabelas deveriam ser alterados, e podemos fazer isso automaticamente
com os Triggers.