Re: Help with trigger

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Michael Satterwhite <michael(at)weblore(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Help with trigger
Date: 2010-12-27 18:58:40
Message-ID: 4D18E1E0.9010409@lelarge.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Le 27/12/2010 18:57, Michael Satterwhite a écrit :
> I'm new to PostgreSQL, but have worked with other databases. I'm trying to
> write a trigger to default a timestamp column to a fixed interval before
> another. The test setup is as follows:
>
> create table test
> ( date1 timestamp,
> date2 timestamp
> );
>
> create or replace function t_listing_startdate() returns trigger as
> $t_listing_startdate$
> begin
> if NEW.date2 is null then
> NEW.date2 := NEW.date1 - interval '7 day';
> end if;
> return NEW;
> end;
> $t_listing_startdate$ LANGUAGE plpgsql;
>
> CREATE TRIGGER t_listing_startdate before insert or update on test
> for each row execute procedure t_listing_startdate();
>
> Insert into test(date1) values('May 4, 2012');
> INSERT 0 1
> test=# select * from test;
> date1 | date2
> ---------------------+-------
> 2012-04-27 00:00:00 |
> (1 row)
>
> I'm obviously missing something ... and probably something obvious. Why is
> date2 still null?
>

I'm not sure it'll help you. I copy/pasted your SQL script in my 9.0.2
release. Worked great.

What does \d says about your table? your trigger could be disabled.

--
Guillaume
http://www.postgresql.fr
http://dalibo.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Guillaume Lelarge 2010-12-27 19:00:37 Re: Working with v8.3.4 DB using v9.0.1 software
Previous Message Gary Chambers 2010-12-27 18:56:22 Re: Help with trigger