MySQL Trigger(Gatilho)

Posted by Bento | Posted in Banco de Dados, MySQL | Posted on 12-09-2010-05-2008

0

MySQL Trigger(Gatilho)

O que é um trigger ?

Trigger ou gatilho é uma função implementada a partir da versão 5.0.2 do MySQL.
Ele funciona associado a um evento do banco de dados, sempre que for executado uma instrução SQL, insert, delete ou update em determinada tabela o gatilho é disparado.

Criando um trigger

Sintaxe para criação de um trigger

CREATE TRIGGER nome_gatilho
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON tabela
FOR EACH ROW
triggered_statement

Tradução da sintaxe

Criar um gatilho com_esse_nome
BEFORE (antes) ou AFTER (depois) da ação na tabela
INSERT(sempre que uma nova linha é inserida) ou UPDATE (sempre que uma nova linha é atualizada) ou DELETE(sempre que uma linha é deletada)
ON tabela
FOR EACH ROW
INSERT tabela_arquivo (ID, data) VALUES (tab.ID, tab.DATA);

Observações:
Se você usar multiplas instrução dentro do seu trigger é necessário usar BEGIN e END para indicar o inicio e fim da instrução do trigger.
Lembrando que é necessário alterar o delimitador antes da execução do trigger pelo comando DELIMITER || e voltando para ;(ponto e virgula) usando DELIMITER ;

Para visualizar os triggers use o comando.

mysql> SHOW TRIGGERS;

Este post é um resumo sobre trigger, para saber mais visite a documentção oficial no link(inglês): http://dev.mysql.com/doc/refman/5.0/en/triggers.html

Write a comment