[Pgsql-ayuda] Nuke aun no anda
Alvaro Herrera Munoz
alvherre@dcc.uchile.cl
Thu, 22 May 2003 10:26:28 -0400
On Thu, May 22, 2003 at 10:11:45AM -0300, Martin Marques wrote:
[...]
> Attribute "default_theme" not found
> La cuestion es que el campo existe, pero se llama "Default_Theme", y la
> unica forma que PostgreSQL tome el campo es llamandolo entre comillas
> dobles (asi):
>
> SELECT "Default_Theme" FROM nuke_config
>
> Porque es que no encuentra el campo si no le pongo las comillas dobles?
Porque Postgres hace conversion a minusculas de todos los
identificadores (nombres de tablas, nombres de campos, nombres de
funciones, etc), a menos que vengan entre comillas dobles.
Lo que es importante es ser consistente con el uso de las comillas
dobles (es decir, las usas o dejas de usar tanto en la creacion de la
tabla como en las sentencias DML). Si la creacion de tabla es
CREATE TABLE nuke_config ("Default_Theme" text);
entonces debes hacer
SELECT "Default_Theme" from nuke_config;
y esto no funciona:
SELECT Default_Theme from nuke_config;
En cambio si haces
CREATE TABLE nuke_config (Default_Theme text);
basta con
SELECT Default_Theme from nuke_config;
Pero esto tambien funciona:
SELECT default_theme from nuke_config;
Ojo que en los primeros casos Default_Theme esta con las mayusculas --
lo unico que cambia son las comillas.
--
Alvaro Herrera (<alvherre[@]dcc.uchile.cl>)
"La felicidad no es maņana. La felicidad es ahora"