Podemos criar um Trigger usando o comando Create Trigger do SQL Server ou através do Enterprise Manager. A Sintaxe de um Trigger é a seguinte: CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] { { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS [ { IF UPDATE ( column ) [ { AND | OR } UPDATE ( column ) ] [ ...n ] | IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask ) { comparison_operator } column_bitmask [ ...n ] } ] sql_statement [ ...n ] } } 1. ON Table - a tabela para o qual o trigger esta sendo criado 2. FOR - deve ser seguido do tipo de comando que acionam o trigger 3. AFTER - determina que o trigger somente sera disparado quando todas as rotinas especificadas no comando de disparo forem executadas com sucesso 4. INSTEAD OF - Determina que o trigger será executado ao invés do comando de disparo do mesmo. 5. [ DELETE ] [INSERT] [UPDATE] - indicam o tipo de ação que deve disparar o trigger. Quando você for criar um Trigger deverá definir : 1. O nome 2. A Tabela para o qual o Trigger irá ser criado 3. Quando o Trigger deverá ser disparado 4. Os comandos que determinam qual ação o Trigger deverá executar Exemplo de Triggers: 1- O trigger abaixo será disparado quando alguém tentar incluir ou alterar dados na tabela Titles. Ele emite uma mensagem ao usuário. ( 50009 é uma mensagem definida para o usuário em sysmessages.)
Criando uma Trigger de Base. Exemplo:
Obs: MUITO CUIDADO AO USAR "DISABLE TRIGGER ALL" As constraints de chave estrangeira são controladas via TRIGGER. Caso desabilite todos os gatilhos, a checagem da integridade referencial (chaves estrangeiras) serão desabilitadas! Exemplo: