[TL;DR] Nejjednodušší věc, kterou můžete udělat, je nikdy nepoužívat u názvů objektů dvojité uvozovky a nechat Oracle řídit rozlišování malých a velkých písmen výchozím způsobem.
Databáze Oracle standardně rozlišují velká a malá písmena; ve výchozím nastavení však také vše převedou na velká písmena, takže rozlišování velkých a malých písmen je abstrahováno od vás, uživatele.
CREATE TABLE tEsT ( column_name NUMBER );
Potom:
SELECT COUNT(*) FROM test;
SELECT COUNT(*) FROM Test;
SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM tEsT;
Všechny budou dávat stejný výstup a:
SELECT * FROM USER_TABLES;
Výstupy:
TABLE_NAME
----------
TEST
(Všimněte si, že název tabulky je velkými písmeny).
Pokud použijete dvojité uvozovky, pak Oracle bude respektovat vaše použití case v názvu tabulky:
CREATE TABLE "tEsT" ( column_name NUMBER );
a:
SELECT * FROM USER_TABLES;
Výstupy:
TABLE_NAME
----------
TEST
tEsT
(Poznámka:nyní existují dvě tabulky s názvem TEST
a tEsT
a oracle respektuje rozlišování malých a velkých písmen druhého z nich – vytvořeného s uvozovkami).
(Všimněte si také:SELECT * FROM tEsT
vybere z první tabulky, která byla převedena na velká písmena, ale SELECT * FROM "tEsT"
je nutné vybrat z druhého, i když jsou dotazy identické kromě uvozovek).