There is a sample in postgres documentation. (See below).
the only problem is for using langage plpgsql.
If it is not understand by your database, you must use command
createlang plpgsql dbname
as the owner of the database.
CREATE TABLE emp ( empname text, salary int4, last_date datetime, last_user name);
CREATE FUNCTION emp_stamp () RETURNS OPAQUE AS BEGIN -- Check that empname and salary are given
IF NEW.empname ISNULL THEN RAISE EXCEPTION ''empname cannot be NULL value''; END IF;
IF NEW.salary ISNULL THEN RAISE EXCEPTION ''% cannot have NULL salary'', NEW.empname; END
IF;
-- Who works for us when she must pay for? IF NEW.salary < 0 THEN RAISE EXCEPTION
''%cannot have a negative salary'',
NEW.empname; END IF;
-- Remember who changed the payroll when NEW.last_date := ''now''; NEW.last_user :=
getpgusername(); RETURN NEW; END; ' LANGUAGE 'plpgsql';
CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp FOR EACH ROW EXECUTE PROCEDURE emp_stamp();
----- Original Message -----
From: Craig May <craig.may@s2.enthdimension.com.au>
To: <pgsql-sql@postgresql.org>
Sent: Wednesday, September 06, 2000 10:27 PM
Subject: [SQL] Trigger
>
> Could someone send me a quick example of a trigger.
>