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