Atenção: Essa wiki é apenas um exemplo que mostra o funcionamento de triggers no PostgreSQL.Recomendamos que use esse documento apenas como base para o desenvolvimento de sua aplicação.

Criando

Manipulação de triggers no PostgreSQL Acesse sua área de hospedagem via SSH SSH, e digite o seguinte comando para acessar sua base de dados:

 psql -h HOST -U nome_da_base nome_do_usuário

Substitua HOST pelo endereço de conexão com a base, assim como o usuário e nome do banco.

Após, será solicitado a senha de acesso.

Manipulação de triggers no PostgreSQL Sintaxe (criação das tabelas e das triggers que manipularão tais tabelas) :

CREATE TABLE teste1 ( campoA INT NOT NULL, campoB INT NOT NULL );   CREATE TABLE teste2 ( campoC INT NOT NULL, campoD INT NOT NULL );   CREATE LANGUAGE plpgsql;   CREATE OR REPLACE FUNCTION insert_minha_function() RETURNS TRIGGER AS ' BEGIN INSERT INTO teste2 (campoC, campoD) values (5,25); RETURN new; END 'LANGUAGE plpgsql;   CREATE TRIGGER insert_minha_trigger AFTER INSERT ON teste1   FOR EACH ROW EXECUTE PROCEDURE insert_minha_function();   CREATE OR REPLACE FUNCTION delete_minha_function() RETURNS TRIGGER AS ' BEGIN INSERT INTO teste2 (campoC, campoD) values (6,26); RETURN old; END 'LANGUAGE plpgsql;   CREATE TRIGGER delete_minha_trigger BEFORE DELETE ON teste1   FOR EACH ROW EXECUTE PROCEDURE delete_minha_function();

Excluindo

Manipulação de triggers no PostgreSQLSintaxe:

DROP TRIGGER nome_da_trigger ON nome_da_tabela;

Visualizando todas as triggers

Manipulação de triggers no PostgreSQLSintaxe:

SELECT * FROM pg_trigger;

Nota

Manipulação de triggers no PostgreSQL Na Locaweb as bases de dados já vêm por padrão com a linguagem plpgsql.Dessa forma, as triggers devem ser criadas nessa linguagem. As outras linguagens, não instalamos por questões de segurança no ambiente compartilhado.

Manipulação de triggers no PostgreSQL Return new;

    Uma trigger com evento BEFORE e com “return old” pode cancelar um INSERT ou um UPDATE.

    Manipulação de triggers no PostgreSQL Return old;

    • Para registros excluídos (DELETE), e para os valores antigos dos registros alterados (UPDATE).

    uma trigger com evento BEFORE e com “return new” pode cancelar um DELETE ou um UPDATE.

    Veja também


    Era isso que estava procurando?
    SimNão

    Demo Title

    Demo Description


    Introducing your First Popup.
    Customize text and design to perfectly suit your needs and preferences.

    Isso vai fechar em 20 segundos

    Categorias

    [menu name="categorias"]

    Isso vai fechar em 20 segundos