Académique Documents
Professionnel Documents
Culture Documents
Gatilhos
GATILHO TABELA
Eventos de Disparo
• Eventos capazes de disparar um gatilho, são basicamente
comandos DML. O gatilho fica “escutando” as transações em
busca da transação que contenha a operação de disparo.
• DML:
– INSERT/UPDATE/DELETE
DECLARE
<Variáveis> Nome do procedimento
BEGIN
<Códigos>
END;
$$ LANGUAGE 'plpgsql'
Novos operadores
• Precisamos, às vezes, obter valores das transações
que estão ocorrendo no momento do disparo do
gatilho ou os valores anteriores.
IF NEW.QUANTIDADE<0 THEN
END IF;
RETURN NEW; Aborta a transação
END;
$$ LANGUAGE 'plpgsql'
Exemplo 1: Gatilho
CREATE TRIGGER TRIGPRODUTO Nome
$$ LANGUAGE 'PLPGSQL';
Exemplo 2: Gatilho
CREATE TRIGGER GERA_LOG Nome
AFTER INSERT OR UPDATE OR DELETE Evento
ON ALTERADA Tabela Associada
FOR EACH ROW Tipo de disparo
EXECUTE PROCEDURE GERA_LOG(); Procedimento Assoc.
Ex:
RAISE NOTICE 'Id : %d Cod: %d',i,c;
• Gatilhos PostgreSQL
http://www.postgresql.org/docs/9.2/static/sql-
createtrigger.html
• Gatilhos PostgreSQL
http://pgdocptbr.sourceforge.net/pg80/plpgsql-
trigger.html