Em 8 de julho de 2015 17:56, PAULO <[email protected]> escreveu: > É possível chamar uma função dentro de uma Trigger ?
Dentro do trigger somente uma função pode e deve ser chamada [1]. Esta função precisa retornar um tipo determinado [2] chamado "trigger". Os gatilhos no PostgreSQL não incluem código procedural à exemplo de outros bancos de dados, elas contém o apenas o "cabeçalho" que faz referência ao evento em que ocorre e qual a função deve ser chamada. Nesta função que retorna um tipo "trigger" você pode fazer chamadas a outras funções, é nela que fica o código procedural. Veja o código de exemplo: -- Cria a função que será usada no gatilho. -- É nesta função que você faz as chamadas às outras funções CREATE FUNCTION tf_trigger_function() RETURNS trigger AS $body$ BEGIN -- Aqui fica o código procedural com a chamada a outras funções RETURN NEW; END; $body$ LANGUAGE plpgsql; -- Aqui o trigger apenas faz a chamada à função -- criada acima. CREATE TRIGGER tr_bu_trigger BEFORE UPDATE ON tabela FOR EACH ROW EXECUTE PROCEDURE tf_trigger_function(); [1] http://www.postgresql.org/docs/9.1/static/sql-createtrigger.html [2] http://www.postgresql.org/docs/9.1/static/plpgsql-trigger.html _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
