PL SQL

2034 palavras 9 páginas
Triggers

O que é uma trigger?

Uma trigger é um bloco PL/SQL que é associado a um evento específico (insert, update ou delete), armazenado em um banco de dados e executado sempre que o evento ocorrer.
Uma trigger é disparada quando uma linha na tabela correspondente é:
Inserida: no evento inserting da tabela;
Atualizada: no evendo updating da tabela;
Excluída: no evento deleting da tabela.
Não é possível definir uma trigger para ser disparada quando uma linha é selecionada.

Uma trigger é um objeto de banco de dados, assim como uma tabela ou um índice.
Quando você define uma trigger, ela se torna parte do banco de dados e é sempre executada quando o evento para o qual ela é definida ocorre.
Por causa disso, uma trigger permite que você execute validação crítica ou cálculos em resposta às alterações feitas no banco de dados, seja qual for a fonte.
Um exemplo de trigger:
Suponhamos que você queira ter certeza de que todos os nomes de departamentos foram armazenados usando letras maiúsculas. Talvez você esteja fazendo isso para facilitar a pesquisa naquele campo.

1 create or replace trigger TRG_DEPARTAMENTO
2 before INSERT or UPDATE on DEPARTAMENTO for each row
3 begin
4 -- O comando UPPER força os caracteres em minúsculo para maiúsculo
5 :new.DESCRICAO := UPPER(:new.DESCRICAO);
6 end;
7 /

A linha 1 diz ao Oracle para criar essa trigger com o nome TRG_DEPARTAMENTO para substituir, se preciso, toda trigger existente de mesmo nome.
A linha 2 diz que ela será sempre disparada antes que uma linha nova for inserida na tabela de departamentos ou sempre que um registro de departamento mudar.
Existe a possibilidade que seja sempre disparada depois, basta substituir a palavra BEFORE por AFTER.
A referência a : NEW é o alias padrão para o novo valor do registro.
O alias :OLD pode ser usado para se referir ao valor antigo de um campo antes que aconteça uma atualização.
A linha 2 ainda, diz ao Oracle para

Relacionados

  • Pl-sql
    5422 palavras | 22 páginas
  • Pl sql
    9917 palavras | 40 páginas
  • Pl/sql
    14576 palavras | 59 páginas
  • Pl sql
    17274 palavras | 70 páginas
  • PL SQL
    8154 palavras | 33 páginas
  • pl/sql
    278 palavras | 2 páginas
  • Pl/sql
    2362 palavras | 10 páginas
  • Oracle Pl Sql
    36777 palavras | 148 páginas
  • Pl /sql avançado
    9369 palavras | 38 páginas
  • Exercicios pl/sql
    511 palavras | 3 páginas