Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id E6051476B50 for ; Tue, 17 Dec 2002 23:30:32 -0500 (EST) Received: from web80310.mail.yahoo.com (web80310.mail.yahoo.com [66.218.79.26]) by postgresql.org (Postfix) with SMTP id BBEBA476B1E for ; Tue, 17 Dec 2002 23:29:28 -0500 (EST) Message-ID: <20021218042933.1012.qmail@web80310.mail.yahoo.com> Received: from [203.87.150.116] by web80310.mail.yahoo.com via HTTP; Tue, 17 Dec 2002 20:29:33 PST Date: Tue, 17 Dec 2002 20:29:33 -0800 (PST) From: Ludwig Lim Subject: Re: pl/pgsql question To: Tim Perdue Cc: PostgreSQL Mailing List In-Reply-To: <3DFFF5AB.1080004@perdue.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200212/213 X-Sequence-Number: 10801 --- Tim Perdue wrote: > I have created a function in pl/pgsql to modify a > row before it gets put > into the database, but it seems my modification is > being ignored, and > the unmodified row is being inserted. > > I have confirmed with this RAISE EXCEPTION that my > "NEW" row is modified > properly, however it is not being stored in the db. > > NEW.start_date := NEW.start_date+delta; > -- RAISE EXCEPTION ''new start date: % > '',NEW.start_date; > NEW.end_date := NEW.end_date+delta; > > It's probably something very obvious, but I'm > mystified. > > CREATE TRIGGER projtask_insert_depend_trig AFTER > INSERT ON project_task > FOR EACH ROW EXECUTE PROCEDURE > projtask_insert_depend(); > > Try changing the "AFTER" to "BEFORE" CREATE TRIGGER projtask_insert_depend_trig BEFORE... Changes made to the "NEW" will not be reflect in the AFTER trigger since, the row is already inserted. __________________________________________________ Do you Yahoo!? New DSL Internet Access from SBC & Yahoo! http://sbc.yahoo.com