Campi e tabelle con lettere maiuscole non riconosciuti da PostgreSQL

PostgreSQL potrebbe non riconoscere le lettere maiuscole nei nomi dei campi o delle tabelle del database.
Per esempio, la query SELECT * FROM TABELLA restituisce l'errore relation "tabella" does not exists anche se la tabella esiste oppure la query SELECT ID FROM TABELLA restituisce l'errore column "id" does not exist anche se il campo esiste.
Per risolvere questo problema bisogna inserire i nomi delle tabelle e dei campi tra le virgolette.
Ecco alcuni esempi di query corrette:
SELECT * FROM "TABELLA";
SELECT "ID" FROM "TABELLA";
SELECT "TABELLA"."ID" FROM "TABELLA";
SELECT * FROM "TABELLA" WHERE "ID" = 1;

La forma migliore per scrivere i nomi delle tabelle e dei campi rimane comunque quella di scriverli in minuscolo. In questo modo, oltre ad evitare problemi come quello risolto da questa guida, si avranno delle query piĆ¹ leggibili con i comandi SQL scritti in maiuscolo e i nomi delle tabelle e dei campi in minuscolo.

Guida scritta da il 13/12/2011.

Le ultime guide della categoria SQL:

comments powered by Disqus