Banco de Dados - Oracle
Triggers
Falarei sobre as Triggers, mais para entendermos melhor, temos que saber para que serve uma Trigger e qual a sua função dentro do banco. Então siga passo-a-passo esta coluna.
por Rodrigo Almeida
Falarei sobre as Triggers,
mais para entendermos melhor, temos que saber para que serve uma Trigger
e qual a sua função dentro do banco. Então siga passo-a-passo esta coluna.
1º Passo: O que são Triggers?
Triggers são códigos de PL/SQL armazenados dentro do banco de dados, onde podemos definir um "bloco" PL/SQL para que seja executado automaticamente pelo banco, assim toda vez que uma instrução SQL ( evento DML ) for aplicada para uma tabela específica ele irá executar um determinado evento automaticamente.
2º Passo: Para que serve uma Trigger?
Uma Trigger dentro do seu banco será de uma utilidade enorme, imaginem que temos um banco de dados com 1.500,000 de registros, onde os funcionários da empresa ganham por hora, e você tem que atualizar o banco de horas de cada funcionário por dia, alguns comandos poderia fazer isso por nós, mas seria um pouco complicado e desgastante, então, por este motivo, criamos nossas Triggers, onde definimos o que deve ser mudado na tabela num único arquivo e depois acionamos um único comando DML (Update) para ele, assim, ele irá atualizar os 1.500,000 de registros de uma única só vez.
3º Passo: Implementação da Trigger dentro do banco.
Devemos tomar algumas precauções sobre a implementação das Triggers dentro do banco, fique atento para estes tópicos :
- Use triggers para garantir a execução de comandos para uma tabela específica;
- Não fique criando triggers que duplique regras já definidas em CONSTRAINTS do banco;
- O Oracle recomenda que limitamos os nossos códigos no máximo em 60 linhas, caso você tenha que criar algo mais complexo crie stored procedure, será mais utíl;
- ATENÇÃO: Cuidado ao criar as Triggers que disparem sob uma instrução UPDATE na sua Tabela, não pode alterar a tabela porque isso iria disparar a Triggers mais de N vezes no sistema, e a memória do equipamento não iria agüentar ocasionandos bugs de memória e resultados errôneos.
4º Passo: Pontos fundamentais das Triggers.
Segurança e Integridade
Podemos utilizar as Triggers para garantir uma segurança maior no nosso banco, ela tem como tarefa restringir o acesso as tabelas e controlar as atualizações.
Auditoria
Como disse anteriormente, as Triggers são executadas automaticamente, assim, podemos utilizá-las para fazer auditoria sobre acesso ao banco de dados.
Replicação de Dados
São excelentes para criar uma política de replicação síncrona de uma tabela para outra.
Integridade
Apartir das Triggers podemos criar controles mais complexos para os relacionamento das tabelas.
Controle de dados
Caso uma tabela tenha dados, cujo valor depende de outras tabelas, as Triggers pode atualizar automaticamente a coluna com os valores derivados.
Agora comentarei sobre a Preparação das triggers passo-a-passo e um resumo sobre os comandos, assim vocês poderam na ultima coluna, estar dominando a criação e a utilização deste mecanismo.
Dando continuidade veremos os passos para a preparação do código.
5º Passo: Criando uma tabela exemplo.
Antes de criarmos nossa primeira Trigger, temos que criar uma tabela de exemplo para entendermos melhor o funcionamento das Triggers no sistema, então faça a tabela que está na figura abaixo:
Depois que você executou o comando acima, foi criada no sistema uma tabela chamada Auditoria, está tabela está novinha, então precisamos colocar informações nela, para isso acontecer basta você fazer o download do arquivo Inserir.sql e depois dentro do Oracle dar um Select para ver o resultado abaixo :
Pessoal, agora vocês estão mais por dentro das Triggers, sabem o que é, para que serve obeservando suas precauções e limitações, terminamos por aqui, mas nos próximos dias disponibilizarei mais sobre Trigger.
Até breve!
- Exportação de dados do SQL Server para o Oracle com assistente de importação do SQL ServerSQL
- Trigger Oracle (Básico)Oracle
- Análise de desempenho entre os bancos de dados SQL Sever x OracleSQL Server
- Uma libertação chamada OLAPOracle
- A importância da Qualidade dos dados nas empresasSQL Server