On Wed, April 8, 2009 16:06, Tom Lane wrote: > "James B. Byrne" <byrnejb@xxxxxxxxxxxxx> writes: >> I just need another set of eyes to see whatever it is that I am >> overlooking. > > The RETURN is inside the EXCEPTION clause. > > You really need two BEGINs here, one for the outer function body and > one for the exception block around the INSERT. > > regards, tom lane > So, something like: CREATE OR REPLACE FUNCTION hll_pg_fn_ident_insert() RETURNS TRIGGER AS $pg_fn$ -- ROW AFTER TRIGGER -- trigger passes identifier_type and _description -- received as ARGV[0] and ARGV[1] BEGIN BEGIN INSERT INTO identifiers(... ... EXCEPTION WHEN .... END; RETURN NULL: END; -- *** E-Mail is NOT a SECURE channel *** James B. Byrne mailto:ByrneJB@xxxxxxxxxxxxx Harte & Lyne Limited http://www.harte-lyne.ca 9 Brockley Drive vox: +1 905 561 1241 Hamilton, Ontario fax: +1 905 561 0757 Canada L8E 3C3 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general