2010-09-09 1 views
3

J'ai conçu un ensemble de tables dans pgAdmin. J'ai donné des noms comme Products et ProductRID. J'ai été très surpris que quand je suis allé interroger ce tableau seulement pour trouver une requête comme cela a donné relation inconnue:Comment faire pour que PostgreSQL/pgAdmin se comporte un peu mieux avec la sensibilité à la casse?

select * from Products 

Apparemment, la bonne façon d'y accéder est

select * from "Products" 

qui est très laid. Je peux renommer les tables à tous les minuscules pour interroger sans les guillemets, mais alors il semble moche. Y a-t-il une sorte de paramètre de sorte qu'il conserve le cas, mais se comporte sans sensibilité à la casse?

+1

Il peut être moche, mais c'est le comportement standard de la plupart des bases de données. Les standards SQL ont même proposé les guillemets pour résoudre ce problème. –

+0

@Frank standard de la plupart, mais pas Microsoft SQL Server je suppose – Earlz

+0

Oui, SQL Server inclus: http://msdn.microsoft.com/en-us/library/ms174393.aspx –

Répondre

4

Il n'y a pas de réglage magique. La meilleure façon de traiter la sensibilité à la casse est de ne pas citer vos relations lorsque vous les créez. Si vous êtes très tôt en conception de schéma, allez-y et renommez-les (et les noms de colonnes) en minuscules. Le problème « semble laid » disparaîtra parce que dans vos requêtes, vous pouvez toujours faire

SELECT * FROM Products 

et cela fonctionnera très bien.

Questions connexes