Re: "Named" column default expression
От | Thomas Kellerer |
---|---|
Тема | Re: "Named" column default expression |
Дата | |
Msg-id | j8ejrq$38r$1@dough.gmane.org обсуждение исходный текст |
Ответ на | Re: "Named" column default expression (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
Tom Lane wrote on 28.10.2011 16:21: >>>> I just noticed that Postgres allows the following syntax: >>>> create table foo >>>> ( >>>> id integer constraint id_default_value default 42 >>>> ); > >> I'm wondering why this doesn't throw an error then. > > It's an implementation artifact --- our grammar regards everything after > a column's type name as a list of column constraints. So "DEFAULT foo" > has to be considered as one variant of column constraint. We could > probably tweak the grammar enough so it didn't allow "CONSTRAINT name" > to be prefixed to that one case, but there seems little point in adding > complexity for that. The most it would accomplish is to break > applications that are expecting this particular deviation from spec to > work. Thanks for the explanation. I have seen the syntax on SQL Server and there it does give the default definition a name. I was somewhat surprised aboutthe syntax as I have never considered a default to be a constraint. So I checked the PostgreSQL manual just to findthat the same syntax works there as well.... Regards Thomas
В списке pgsql-general по дате отправления: