Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie kann man bei Oracle-Tabellennamen die Groß-/Kleinschreibung beachten?

[TL;DR] Am einfachsten ist es, niemals doppelte Anführungszeichen um Objektnamen zu verwenden und Oracle die Groß- und Kleinschreibung einfach in seiner Standardweise verwalten zu lassen.

Bei Oracle-Datenbanken wird standardmäßig zwischen Groß- und Kleinschreibung unterschieden; sie werden jedoch auch standardmäßig alles in Großbuchstaben umwandeln, sodass die Groß- und Kleinschreibung von Ihnen, dem Benutzer, abstrahiert wird.

CREATE TABLE tEsT ( column_name NUMBER );

Dann:

SELECT COUNT(*) FROM test;
SELECT COUNT(*) FROM Test;
SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM tEsT;

Geben alle die gleiche Ausgabe und:

SELECT * FROM USER_TABLES;

Ausgaben:

TABLE_NAME
----------
TEST 

(Beachten Sie, dass der Tabellenname in Großbuchstaben geschrieben ist).

Wenn Sie doppelte Anführungszeichen verwenden, wird Oracle Ihre Groß-/Kleinschreibung im Tabellennamen respektieren:

CREATE TABLE "tEsT" ( column_name NUMBER );

und:

SELECT * FROM USER_TABLES;

Ausgaben:

TABLE_NAME
----------
TEST 
tEsT

(Hinweis:Es gibt jetzt zwei Tabellen mit dem Namen TEST und tEsT und Orakel hat die Groß- und Kleinschreibung des zweiten respektiert - das mit Anführungszeichen erstellte).

(Beachten Sie auch:SELECT * FROM tEsT wählt aus der ersten Tabelle, die in Großbuchstaben umgewandelt wurde, aber SELECT * FROM "tEsT" muss aus der zweiten auswählen, obwohl die Abfragen abgesehen von den Anführungszeichen identisch sind).