[TL;DR] La chose la plus simple à faire est de ne jamais utiliser de guillemets autour des noms d'objets et de laisser Oracle gérer la sensibilité à la casse de sa manière par défaut.
Les bases de données Oracle sont, par défaut, sensibles à la casse ; cependant, ils convertiront également, par défaut, tout en majuscules afin que la sensibilité à la casse soit abstraite de vous, l'utilisateur.
CREATE TABLE tEsT ( column_name NUMBER );
Ensuite :
SELECT COUNT(*) FROM test;
SELECT COUNT(*) FROM Test;
SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM tEsT;
Donneront tous le même résultat et :
SELECT * FROM USER_TABLES;
Sorties :
TABLE_NAME
----------
TEST
(Notez que le nom de la table est en majuscules).
Si vous utilisez des guillemets doubles, Oracle respectera votre utilisation de la casse dans le nom de la table :
CREATE TABLE "tEsT" ( column_name NUMBER );
et :
SELECT * FROM USER_TABLES;
Sorties :
TABLE_NAME
----------
TEST
tEsT
(Remarque :il y a maintenant deux tables nommées TEST
et tEsT
et oracle a respecté la sensibilité à la casse du second - celui créé avec des guillemets).
(Remarque également :SELECT * FROM tEsT
sélectionnera dans le premier tableau, qui a été converti en majuscules, mais SELECT * FROM "tEsT"
est obligatoire de sélectionner dans la seconde même si les requêtes sont identiques à part les guillemets).