Re: REFERENCES error message complaint, suggestion

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: weigelt(at)metux(dot)de
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: REFERENCES error message complaint, suggestion
Date: 2004-03-05 15:12:27
Message-ID: 7120.1078499547@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Enrico Weigelt <weigelt(at)metux(dot)de> writes:
> * Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> [2004-03-04 11:24:11 -0500]:
>> Double quotes are for names (identifiers). Single quotes are
>> for string literals (constants).

> BTW: is this general SQL syntax or just PostgeSQL ?

This is SQL92 standard behavior. Relevant extracts from the standard:

<delimited identifier> ::=
<double quote> <delimited identifier body> <double quote>

<character string literal> ::=
[ <introducer><character set specification> ]
<quote> [ <character representation>... ] <quote>
[ { <separator>... <quote> [ <character representation>... ] <quote> }... ]

<double quote> ::= "

<quote> ::= '

> mysql does no distinction (which is IMHO very unclean),

How can they have no distinction? Suppose I write

select 'col' from tab;
select "col" from tab;

If there is a column tab.col, what am I going to get in each case?

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2004-03-05 15:18:29 Re: relocatable binary distribution
Previous Message beer 2004-03-05 15:06:27 Re: Trigger Update Issue