Re: ERROR: AlterTableAddConstraint:
От | missive@frontiernet.net (Lee Harr) |
---|---|
Тема | Re: ERROR: AlterTableAddConstraint: |
Дата | |
Msg-id | 9kv4am$3s86$1@node21.cwnet.roc.gblx.net обсуждение исходный текст |
Ответ на | Re: ERROR: AlterTableAddConstraint: (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | 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 по дате отправления: