From: | Michael Satterwhite <michael(at)weblore(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Help with trigger |
Date: | 2010-12-27 17:57:14 |
Message-ID: | 201012271157.15216.michael@weblore.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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?
Thanks much
---Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Rob Sargent | 2010-12-27 17:59:47 | Re: 2 versions of an entity worth distinct table? |
Previous Message | Peter Eisentraut | 2010-12-27 17:50:45 | Re: C++ keywords in headers (was Re: [GENERAL] #include <funcapi.h>) |