PDA

View Full Version : |Dúvida| Oque seria trigger?



lordlance
09/08/2017, 04:26 PM
como crio uma trigger?

Reenan
09/08/2017, 04:48 PM
Gatilho ou trigger é um recurso de programação executado sempre que o evento associado ocorrer. Trigger é um tipo especial de procedimento armazenado, que é executado sempre que há uma tentativa de modificar os dados de uma tabela que é protegida por ele.

É muito utilizada para ajudar a manter a consistência dos dados ou para propagar alterações em um determinado dado de uma tabela para outras. Um bom exemplo é um gatilho criado para controle de quem alterou a tabela, nesse caso, quando a alteração for efetuada, o gatilho é "disparado" e grava em uma tabela de histórico de alteração, o usuário e data/hora da alteração.

Em SQL, para se criar um trigger utiliza-se do CREATE TRIGGER, e para removê-lo deve-se usar DROP TRIGGER. Um gatilho típico é composto de três componentes, que seguem o Modelo: evento - condição - ação[1].

Exemplo: (MS-SQL Server)


CREATE TRIGGER nome_do_gatilho ON dono.Nome_da_tabela
FOR INSERT (ou SELECT ou UPDATE ou DELETE)
AS
Codigo para execucao


Outro exemplo:


CREATE TRIGGER <Nome>
Momento_Exec (BEFORE/AFTER)
Evento_disparador (INSERT/UPDATE/DELETE)
ON tabela_evento
[REFERENCING NEW AS novo_nome OLD AS nome_antigo] (Opcional, em caso de delete para copiar os dados para outra tabela)
[nivel_gatilho] (FOR EACH ROW (linha) / FOR EACH STATEMENT (comando) - determina como será executado o BLOCO_COMANDOS_SQL)
[condição_exec] (WHEN <condição>)
BLOCO_COMANDOS_SQL

Fonte: Wikipedia

louis
09/08/2017, 05:33 PM
Resumindo uma trigger executa um comando quando um requisito for atingido...

Quando um personagem chega a 100 resets executa um comando para e ganhar 10 cash por exemplo.

lordlance
10/08/2017, 10:05 PM
obrigado gente pela explicação muito obrigado agora esclareceu tudo aqui rs

louis
10/08/2017, 11:03 PM
Dúvida respondida, tópico fechado!