Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Gatilhos (Triggers)
Definio: Um trigger (gatilho) um conjunto de comandos SQL que automaticamente disparado quando um comando INSERT, UPDATE ou DELETE executado e modifica os dados de uma tabela especificada. Objetivos:
Utilizados para implementar regras de negcio da aplicao. Sua principal aplicao a criao de restries e consistncias de acesso ao banco de dados. Exemplo: Ao invs de restringir contas com saldos negativos, podemos querer ativar uma ao que automaticamente inicia um emprstimo para aquela conta.
Gatilhos (Triggers)
Um trigger uma regra do tipo E_C_A:
E: Evento ocorrido (insero, atualizao ou deleo) C: Condio a ser satisfeita na presena do evento E A: Ao a ser tomada caso a condio C seja satisfeita
Gatilhos (Triggers)
Composio de um trigger:
Um nome: nico para cada banco de dados A maneira: um comando INSERT, UPDATE ou DELETE As instrues: um bloco de comandos SQL
Vnculo de um trigger:
Os gatilhos (triggers) so sempre vinculados a uma determinada tabela. Quando uma tabela removida, todos os gatilhos relacionados sero excludos/eliminados automaticamente. Os gatinhos tambm podem ser excludos manualmente pelo administrador do banco de dados. Quando criados so persistentes (armazenados no SGBD) at a sua excluso.
Gatilhos (Triggers)
Sintaxe para criar: CREATE TRIGGER <nome do gatilho> ON <tabela> FOR [INSERT][,][UPDATE][,][DELETE] AS <comandos SQL> Sintaxe para eliminar: DROP TRIGGER <nome do gatilho>
Execuo 2:
UPDATE Exemplo1 SET Codigo = 2 Mensagem Foi realizada uma atualizao (UPDATE)
Execuo 3:
DELETE FROM Exemplo1 Mensagem Foi realizada uma excluso (DELETE)
Gatilhos (Triggers)
Observaes importantes: Triggers no podem ser criados para tabelas temporrias. Triggers no possuem parmetros e no podem ser explicitamente invocados: so disparados apenas quando os dados da tabela protegida so modificados. Triggers so considerados como parte de uma transao: se houver falha no seu funcionamento, os comandos sero revertidos (ROLLBACK).
Gatilhos (Triggers)
Fim