Trigger

Triggers devem ser utilizadas quando precisamos manter um controle maior sobre a aplicação, podemos utilizar as Triggers para garantir uma segurança maior no banco, ela tem como tarefa restringir o acesso às tabelas e controlar as atualizações, controlar validações, restrições de acesso, rotinas de segurança e consistência de dados, principalmente quando precisamos que ela de um ?auxilio? ao sistema, por exemplo, em um controle de estoque é necessário que aplicação ?avise? quando a quantidade de um produto está baixa disparando uma exception.

Por | @irialuppi Programação

Triggers devem ser utilizadas quando precisamos manter um controle maior sobre a aplicação, podemos utilizar as Triggers para garantir uma segurança maior no banco, ela tem como tarefa restringir o acesso às tabelas e controlar as atualizações, controlar validações, restrições de acesso, rotinas de segurança e consistência de dados, principalmente quando precisamos que ela de um ?auxilio? ao sistema, por exemplo, em um controle de estoque é necessário que aplicação ?avise? quando a quantidade de um produto está baixa disparando uma exception. As trigger são disparadas automaticamente pelo banco na ocorrência de um evento para qual foi programada, antes de inserir, alterar ou excluir um dado, portanto são utilizadas para checar valores, retornar valores defaults, tratar mensagens de integridade referencial além de invocar procedimentos, atualizar tabelas por meio de outras quando são inseridos, alterados ou excluídos os dados. etc.

Mas não podemos utilizar muitas triggers em um mesmo banco, ou fazer com que uma dispare varias outras, pois pode causar perda de desempenho, por isso à preocupação deve ficar voltada na hora da programação da trigger, em relação aos eventos que estarão relacionadas. Utilizar triggers para uma tabela especifica para evitar conflitos ou tentativas de disparos simultaneamente diminuindo o desempenho do sistema e perda de memória. Não provocar duplicação de elementos já existentes, no banco, por exemplo, na inserção em uma tabela atualizar em outra e lá o dado já existir.

Existem as variáveis de transição que mantém informações sobre o registro que se esta tentando incluir, excluir ou alterar, na execução de uma trigger, ou seja, os valores já existentes com os novos.

OLD: é o valor já existente no banco de dados, mais utilizado na tentativa de atualização e deleção de dados nas tabelas.

NEW: é o novo valor, ou seja, o que esta se tentando inserir ou alterar, para realizar comparações.

Exemplo no Firebird

CREATE EXCEPTION REAJUSTE ?Reajuste maior do que 10%?

SET TERM !! ;
CREATE TRIGGER reajustepreco
FOR livro
BEFORE UPDATE
AS
  BEGIN
    IF (new.precosugerido > (old.precosugerido (old.precosugerido*0.10))) THEN
        exception reajuste;
  END !!
SET TERM ; !!

Mais sobre: banco de dados trigger
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo