Umístění identifikátoru do dvojitých uvozovek v Oracle způsobí, že Oracle bude s identifikátorem zacházet jako s rozlišujícími malá a velká písmena, nikoli s výchozím nastavením nerozlišování velkých a malých písmen. Pokud vytváříte tabulku (nebo sloupec) s dvojitými uvozovkami kolem názvu, musíte vždy odkazovat na identifikátor s dvojitými uvozovkami a správným uvedením velikosti písmen (s výjimkou všech identifikátorů velkých písmen, kde dvojité uvozovky nemají význam ).
Oracle pod krytem vždy provádí porovnávání identifikátorů s rozlišováním velkých a malých písmen. Ale vždy před provedením porovnávání přetypuje identifikátory, které nejsou v uvozovkách velkými písmeny. Pokud kolem identifikátoru dáte dvojité uvozovky, Oracle přeskočí přetypování na velká písmena.
Pokud tedy uděláte něco jako
CREATE TABLE my_table(
col1 number,
col2 number
)
můžete
SELECT * FROM my_table
SELECT * FROM MY_TABLE
SELECT * FROM My_Table
SELECT * FROM "MY_TABLE"
ale něco jako
SELECT * FROM "my_table"
selže.
Na druhou stranu, pokud uděláte něco jako
CREATE TABLE "my_other_table"(
col1 number,
col2 number
)
nemůžete udělat
SELECT * FROM my_other_table
SELECT * FROM MY_OTHER_TABLE
SELECT * FROM My_Other_Table
SELECT * FROM "MY_OTHER_TABLE"
ale toto
SELECT * FROM "my_other_table"
bude fungovat