Received: from ns1.engrs.org (ns1.engrs.org [216.54.29.10]) by hub.org (8.10.1/8.10.1) with ESMTP id e86CgnB47039 for ; Wed, 6 Sep 2000 08:42:49 -0400 (EDT) Received: (from uucp@localhost) by ns1.engrs.org (8.9.3/8.9.3) id JAA18652; Wed, 6 Sep 2000 09:00:08 -0400 Received: from UNKNOWN(216.54.52.148), claiming to be "greatbridge.com" via SMTP by ns1.engrs.org, id smtpdUv5k04; Wed Sep 6 12:59:58 2000 Message-ID: <39B63B34.116C525F@greatbridge.com> Date: Wed, 06 Sep 2000 08:40:20 -0400 From: Chris Ryan Organization: GreatBridge LLC X-Mailer: Mozilla 4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) X-Accept-Language: en MIME-Version: 1.0 To: craig.may@s2.enthdimension.com.au, pgsql-sql@postgresql.org Subject: Re: Trigger References: <20000906202707.A4767@s2.enthdimension.com.au> <39B6360A.8FEE705@greatbridge.com> Content-Type: multipart/mixed; boundary="------------7DF2A82FA1CF49D09C1E2FDA" X-Archive-Number: 200009/33 This is a multi-part message in MIME format. --------------7DF2A82FA1CF49D09C1E2FDA Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Chris Ryan wrote: > > Craig May wrote: > > > > Could someone send me a quick example of a trigger. > > Hope this helps. > > Chris Ryan > -- snipped code -- I am so sorry but you may have noticed my email client wrapped lines it shouldn't have. I have attached the file this time. Chris Ryan --------------7DF2A82FA1CF49D09C1E2FDA Content-Type: text/plain; charset=us-ascii; name="trigger_example.sql" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="trigger_example.sql" -- -- FILE: trigger_example.sql -- -- DESCRIPTION: -- This file shows the basics of creating a table with a trigger -- -- Chris Ryan 09/06/2000 -- -- GENERAL DISCLAIMER: -- Please feel free to use this in any way you see fit to copy, modify, -- redistribute, etc.. I provide not warranty of the code nor may I be held -- responsible for it's use/misuse should something bad happen including -- intentional or acts of god. -- -- -- FUNCTION: trigger_last_updated -- -- DESCRIPTION: -- This is a function called by the table triggers to update the last_updated -- field on insert and updates. -- create function trigger_last_updated() returns opaque as 'begin new.last_updated := now(); return new; end;' language 'plpgsql'; -- -- TABLE: test_tbl -- -- DESCRIPTION: -- A simple table to test my trigger -- create table test_tbl ( some_field varchar(10), last_updated timestamp not null default now() ); -- -- TRIGGER: trigger_insert_update_test_tbl -- -- DESCRIPTION: -- This is the trigger called on insert and updates of all the table that -- has the last_updated field. It will use the function trigger_last_updated -- The cool thing here is the function doesn't make specific reference to the -- table so you could create a different trigger for each table with the field -- last_updated and use the same function. -- create trigger trigger_insert_update_test_tbl before insert or update on test_tbl for each row execute procedure trigger_last_updated(); --------------7DF2A82FA1CF49D09C1E2FDA--