[TL; DR]最も簡単なことは、オブジェクト名を二重引用符で囲み、大文字と小文字の区別をデフォルトの方法で管理できるようにすることです。
Oracleデータベースは、デフォルトで大文字と小文字が区別されます。しかし、デフォルトではすべてを大文字に変換して、大文字と小文字の区別がユーザから抽象化されるようにします。
CREATE TABLE tEsT (column_name NUMBER);
次に:
SELECT * FROM USER_TABLES;
出力:
SELECT COUNT(*) FROM test;
SELECT COUNT(*) FROM Test;
SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM tEsT;
は全て同じ出力と与える
TABLE_NAME
----------
TEST
(テーブル名が大文字であることに注意してください)を。
あなたは二重引用符を使用する場合、Oracleは、テーブル名に例使用を尊重します:
CREATE TABLE "tEsT" (column_name NUMBER);
と:
SELECT * FROM USER_TABLES;
出力:
TABLE_NAME
----------
TEST
tEsT
(注: TEST
とtEsT
の2つの表があり、oracleはケースseを尊重しています2番目のものの否定 - 引用符で作成されたもの)。
(注:SELECT * FROM tEsT
は最初のテーブルから選択しますが、大文字に変換されていますが、クエリが引用符で区切られていても2番目のテーブルから選択するのにはSELECT * FROM "tEsT"
が必要です)。
出典
2016-04-11 22:24:45
MT0
http://stackoverflow.com/questions/7425153/reason-why-oracle-is-case-sensitiveテーブル名は、引用符で囲まない限り、大文字と小文字を区別しません。 – Barmar
これは奇妙なことですが、引用符にテーブル名を囲んでいません。 – Dillinger
テーブルを作成するときに引用符を使用しましたか? – Barmar