Re: [SQL] "quoting" column names

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [SQL] "quoting" column names
Дата
Msg-id 22436.931874901@sss.pgh.pa.us
обсуждение исходный текст
Ответ на "quoting" column names  (Patrik Kudo <kudo@partitur.se>)
Ответы Re: [SQL] "quoting" column names  (Herouth Maoz <herouth@oumail.openu.ac.il>)
Список pgsql-sql
Patrik Kudo <kudo@partitur.se> writes:
> create table login (userid text, when datetime);
> select when from login where userid = 'xxxx';
> In 6.5 I have to do:
> select "when" from login where userid = 'xxxx';

Right ... WHEN is a keyword in CASE expressions, which didn't use to
be implemented but are now.

> My question now is, should I always quote column names, just in case,
> or should I only quote column names that are "almost reserved"?

In theory you should only have to worry about keywords that are
reserved in SQL92 but that Postgres hasn't gotten around to implementing
yet.  That's a fairly short list, I think, but I do not have the
details handy.  (Anyone?)

Quoting every column name in sight would make your SQL pretty unreadable
(pg_dump now does it by default ... try reading pg_dump commands :-().
Also, if you have a reserved word as a column name, you won't be able
to access the table at all using tools that don't quote column names.
Better to rename your columns if you get burnt by this.
        regards, tom lane


В списке pgsql-sql по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [SQL] Postgres ERROR
Следующее
От: Thomas Good
Дата:
Сообщение: Re: [SQL] calculating percentages