Re: ERROR: AlterTableAddConstraint: - Mailing list pgsql-general

From missive@frontiernet.net (Lee Harr)
Subject Re: ERROR: AlterTableAddConstraint:
Date
Msg-id 9kv4am$3s86$1@node21.cwnet.roc.gblx.net
Whole thread Raw
In response to Re: ERROR: AlterTableAddConstraint:  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Wed, 8 Aug 2001 23:32:19 +0000 (UTC), Tom Lane <tgl@sss.pgh.pa.us> wrote:
> missive@frontiernet.net (Lee Harr) writes:
>> The table should look like:
>
>> CREATE TABLE AA (t timestamp default current_timestamp
>>   CHECK (t = current_timestamp));
>
> I don't think this is possible or sensible.  A constraint is an
> assertion, it should be valid whenever you check it (with the
> single exception that DEFERRED constraints don't have to hold
> intra-transaction).
>
> I think what you really want is an ON INSERT OR UPDATE trigger that sets
> the value of t to current_timestamp (regardless of what the user tried
> to put in the column).  You don't need a constraint, and you don't even
> need a default --- the default just represents a wasted function call,
> if you do it this way.
>
>             regards, tom lane



Ok, thank you.

I misunderstood the whole CHECK thing. I thought it was actually creating
a trigger for you, kind of like SERIAL or PRIMARY KEY creates extra stuff
automatically.

Guess I get to learn how to make a trigger :)



pgsql-general by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: FATAL 1
Next
From: "Brian C. Doyle"
Date:
Subject: Re: UpGrading to 7.1.2