[TL;DR] Den enkleste ting at gøre er aldrig at bruge dobbelte anførselstegn omkring objektnavne og bare lade Oracle styre følsomheden af store og små bogstaver på dens standardmåde.
Oracle-databaser er som standard store og små bogstaver; de vil dog også som standard konvertere alt til store bogstaver, så følsomheden over for store og små bogstaver abstraheres fra dig, brugeren.
CREATE TABLE tEsT ( column_name NUMBER );
Så:
SELECT COUNT(*) FROM test;
SELECT COUNT(*) FROM Test;
SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM tEsT;
Vil alle give det samme output og:
SELECT * FROM USER_TABLES;
Udgange:
TABLE_NAME
----------
TEST
(Bemærk, at tabelnavnet står med store bogstaver).
Hvis du bruger dobbelte anførselstegn, vil Oracle respektere din brug af kasus i tabelnavnet:
CREATE TABLE "tEsT" ( column_name NUMBER );
og:
SELECT * FROM USER_TABLES;
Udgange:
TABLE_NAME
----------
TEST
tEsT
(Bemærk:der er nu to tabeller med navnet TEST
og tEsT
og Oracle har respekteret case-sensitiviteten i den anden).