sql >> Databáze >  >> RDS >> Oracle

Jak zajistit, aby jména tabulek Oracle nerozlišovala malá a velká písmena?

[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).




  1. volání externího skriptu s mySQL triggerem BEZ sys_exec na ubuntu ARMHF

  2. Jak nastavit třídu ovladače jdbc

  3. Obnovte databázi SQLite

  4. Vyberte skupinu řádků, které odpovídají všem položkám v seznamu