Re: Auto-updated fields
От | Zoltan Boszormenyi |
---|---|
Тема | Re: Auto-updated fields |
Дата | |
Msg-id | 4822CE4C.8080006@cybertec.at обсуждение исходный текст |
Ответ на | Re: Auto-updated fields (Martijn van Oosterhout <kleptog@svana.org>) |
Ответы |
Re: Auto-updated fields
|
Список | pgsql-hackers |
Martijn van Oosterhout írta: > On Wed, May 07, 2008 at 03:04:49PM -0700, David Fetter wrote: > >> 1. Create a generic (possibly overloaded) trigger function, bundled >> with PostgreSQL, which sets a field to some value. For example, a >> timestamptz version might set the field to now(). >> > > Doesn't the SQL standard GENERATED BY functionality work for this? Or > won't that handle updates? > You mean GENERATED ALWAYS AS (expression)? Yes, they should be updated on every UPDATE as the expression may include other fields in the same row. A GENERATED column implemented as a stored column would work for this but a virtual column would not. A virtual column would return different values for "now()" in every SELECT. However we can argue for use cases of a virtual column and implement it similarly as VIEWs, i.e an ON SELECT rule can expand the original expression of the column definition. I suggest using these syntaxes if we decide to implement them: GENERATED ALWAYS AS (expression) -- SQL standard stored GENERATED column GENERATED VIRTUAL AS (expression) -- virtual column, obviously > Have a nice day, > Best regards, Zoltán Böszörményi -- ---------------------------------- Zoltán Böszörményi Cybertec Schönig & Schönig GmbH http://www.postgresql.at/
В списке pgsql-hackers по дате отправления: