[TL;DR] Det enklaste du kan göra är att aldrig använda dubbla citattecken runt objektnamn och bara låta Oracle hantera skiftlägeskänsligheten på sitt standardsätt.
Oracle-databaser är som standard skiftlägeskänsliga; Men de kommer också, som standard, att konvertera allt till versaler så att skiftlägeskänsligheten abstraheras från dig, användaren.
CREATE TABLE tEsT ( column_name NUMBER );
Sedan:
SELECT COUNT(*) FROM test;
SELECT COUNT(*) FROM Test;
SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM tEsT;
Kommer alla att ge samma utdata och:
SELECT * FROM USER_TABLES;
Utgångar:
TABLE_NAME
----------
TEST
(Observera att tabellnamnet står i versaler).
Om du använder dubbla citattecken kommer Oracle att respektera din användning av skiftläge i tabellnamnet:
CREATE TABLE "tEsT" ( column_name NUMBER );
och:
SELECT * FROM USER_TABLES;
Utgångar:
TABLE_NAME
----------
TEST
tEsT
(Obs:det finns nu två tabeller med namnet TEST
och tEsT
och Oracle har respekterat skiftlägeskänsligheten för den andra - den som skapats med citattecken).
(Observera:SELECT * FROM tEsT
kommer att välja från den första tabellen, som har konverterats till versaler, men SELECT * FROM "tEsT"
måste väljas från den andra även om frågorna är identiska förutom citattecken).