SQL functions and triggers? - Mailing list pgsql-general

From Alban Hertroys
Subject SQL functions and triggers?
Date
Msg-id 6A1FF817-6099-4250-AA70-0626F3137697@gmail.com
Whole thread Raw
Responses Re: SQL functions and triggers?  (Bill Moran <wmoran@potentialtech.com>)
Re: SQL functions and triggers?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Hi all,

In the past, when writing trigger functions, I’ve always used pl/pgsql without giving it a second thought. Today I was
modifyinga database creation script that was originally intended for Firebird to work with Postgres and the example
triggerprocedures in there were very close to pure SQL. 

Hence, I started rewriting them as SQL functions, but is that really possible? The return-type for trigger functions is
usually‘returns trigger’, which I don’t know how to translate to SQL. Next to that, what should the SQL statement
insidethe function be returning? 

This got a bit puzzling and now I wonder whether this is possible at all? And if so, what’s the correct syntax?

Say I have the below, how to actually return a value of type trigger?:

create or replace function pUpdateFoo()
returns trigger
as $$
    update    Bar
    set        baz = baz + NEW.feep - OLD.feep
    where      foo = NEW.foo;
$$;

create trigger tUpdateFoo
after update on Foo
for each row
    execute procedure pUpdateFoo();

Glad to finally have a proper opportunity to apply PG again - it’s been too long!

Alban Hertroys
--
If you can't see the forest for the trees,
cut the trees and you'll find there is no forest.



pgsql-general by date:

Previous
From: Willy-Bas Loos
Date:
Subject: users per database
Next
From: Dev Kumkar
Date:
Subject: Re: Transactions to create pg_multixact members and offsets