DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login

Quick Tips : Triggers em Firebird

Triggers em Firebird

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo


Olá pessoal, hoje veremos como criar triggers em Firebird.

Trigger nada mais são do que “gatilhos”que são disparados após um determinado evento em uma tabela.

As triggers podem definidas para execução antes ou depois das operações de insert, update e delete na tabela.

Um bom exemplo de uso de trigger é o controle de integridade de dados no banco, apesar de recomendar o uso de bases da dados apenas como repositório, sei que a realidade de muitos projetos aí envolve muita lógica em bancos de dados, por isso resolvi escrever essa quick tip.




Na nossa trigger de exemplo, antes de um cliente ser alterado(before update), nós verificamos se o código dele foi modificado, acessando os campos cod_cliente das estruturas internas old e new da trigger.

O old guarda as informações de antes do update e o new guarda as novas informações, que serão persistidas.

No nosso caso, se houver alteração do código do cliente, nós fazemos uma consulta na tabela de pedidos para ver se este cliente que teve o código alterado possui pedidos vinculados.

Após o select, temos o into, que serve par indicar para o firebird, para onde vai o valor retornado na consulta, no nosso caso vai para a variável vcount. Caso tenha pedidos vinculados, nós fazemos então o update na tabela de pedidos.

Bom pessoa, é claro que poderíamos usar chaves estrangeiras, ID’s únicos ou até mesmo integridade na aplicação, mas o objetivo foi mostrar como funciona a estrutura básica de uma trigger no firebird, sendo o exemplo apresentado apenas de fins didáticos.

É isso aí pessoal, até a próxima quickTip.

Um Abraço
Ricardo Coelho.





Graduado em Analise de Sistemas, Pós-graduando em Engenharia de software, mais de 7 anos de experiência em desenvolvimento de software, onde atuou em projetos de diversos seguimentos como varejo, telecomunicações, ERPs etc e nas m [...]

O que você achou deste post?
Conhece a assinatura MVP?
Serviços

Mais posts