Teste

2379 palavras 10 páginas
Triggers no PostgreSQL
Segunda-feira, 10/11/2008 às 10h00, por Danilo Abranches
Para o desenvolvimento deste artigo foram utilizadas a versão 8.2.1 do servidor PostgreSQL e a ferramenta de administração e desenvolvimento, pgAdmin III, para a execução de scripts. Essa ferramenta é disponibilizada junto com o pacote de instalação do servidor PostgreSQL, mas também pode ser obtida no seguinte endereço: http://www.pgadmin.org/download/.

Introdução

Triggers são procedimentos armazenados que são acionados por algum evento e em determinado momento. Na maioria dos bancos de dados estes eventos podem ser inserções (INSERT), atualizações (UPDATE) e exclusões (DELETE), e os momentos podem ser dois: antes da execução do evento (BEFORE) ou depois (AFTER). E isso também vale para o PostgreSQL.

Um diferencial das triggers deste banco de dados para outros é que no PostgreSQL as triggers são sempre associadas a funções de triggers (veremos isso mais adiante) e, nos demais, criamos o corpo da trigger na própria declaração desta.

Tipos de triggers

O PostgreSQL possui dois tipos de triggers: triggers-por-linha e triggers-por-instrução.

A trigger-por-linha é disparada uma vez para cada registro afetado pela instrução que disparou a trigger. Já a trigger-por-instrução é disparada somente uma vez quando a instrução é executada.

Funções de trigger e linguagens procedurais

Funções de triggers são funções que não recebem nenhum parâmetro e retornam o tipo trigger. Essas funções recebem uma estrutura chamada TriggerData, e esta é passada internamente para a função pelo PostgreSQL.

O PostgreSQL disponibiliza duas variáveis importantes para serem usadas em conjunto com as triggers-por-linha: NEW e OLD.

A variável NEW, no caso do INSERT, armazena o registro que está sendo inserido. No caso do UPDATE, armazena a nova versão do registro depois da atualização.

A variável OLD, no caso do DELETE, armazena o registro que está sendo excluído. No caso do

Relacionados

  • Teste teste teste teste teste
    297 palavras | 2 páginas
  • Teste teste teste teste
    398 palavras | 2 páginas
  • teste teste teste teste
    1381 palavras | 6 páginas
  • Teste teste teste
    310 palavras | 2 páginas
  • Teste teste teste
    1472 palavras | 6 páginas
  • teste teste
    12398 palavras | 50 páginas
  • teste de teste
    370 palavras | 2 páginas
  • Teste teste
    294 palavras | 2 páginas
  • Teste do teste
    900 palavras | 4 páginas
  • Teste teste
    304 palavras | 2 páginas