[TL;DR] Najprostszą rzeczą do zrobienia jest nigdy nie używać podwójnych cudzysłowów wokół nazw obiektów i po prostu pozwolić Oracle zarządzać rozróżnianiem wielkości liter w sposób domyślny.
W bazach danych Oracle domyślnie rozróżniana jest wielkość liter; jednak domyślnie przekonwertują wszystko na wielkie litery, aby rozróżnianie wielkości liter było oderwane od Ciebie, użytkownika.
CREATE TABLE tEsT ( column_name NUMBER );
Następnie:
SELECT COUNT(*) FROM test;
SELECT COUNT(*) FROM Test;
SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM tEsT;
Wszystkie dadzą ten sam wynik i:
SELECT * FROM USER_TABLES;
Wyjścia:
TABLE_NAME
----------
TEST
(Zauważ, że nazwa tabeli jest pisana wielkimi literami).
Jeśli użyjesz podwójnych cudzysłowów, Oracle uszanuje użycie wielkości liter w nazwie tabeli:
CREATE TABLE "tEsT" ( column_name NUMBER );
i:
SELECT * FROM USER_TABLES;
Wyjścia:
TABLE_NAME
----------
TEST
tEsT
(Uwaga:są teraz dwie tabele o nazwie tEsT
i tEsT
a oracle szanuje wielkość liter w drugim – tym utworzonym za pomocą cudzysłowów).
(Uwaga:SELECT * FROM tEsT
wybierze z pierwszej tabeli, która została przekonwertowana na wielkie litery, ale SELECT * FROM "tEsT"
należy wybrać z drugiego, mimo że zapytania są identyczne z wyjątkiem cudzysłowów).