| От | Tom Lane |
|---|---|
| Тема | Re: ERROR: AlterTableAddConstraint: |
| Дата | |
| Msg-id | 13804.997313174@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | ERROR: AlterTableAddConstraint: (missive@frontiernet.net (Lee Harr)) |
| Список | pgsql-general |
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
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера