Конфигурация Oracle базы данных для отключения верхнего регистра в именах таблиц и столбцов - PullRequest
0 голосов
/ 09 июля 2020

Я использую Oracle Драйвер БД для Laravel, я хочу отключить верхний регистр в именах таблиц и столбцов. В соответствии с этой проблемой , я добавил эту опцию в config/database.php как

options => [
        PDO::ATTR_CASE => PDO::CASE_UPPER,
]

, чтобы получить естественные имена таблиц и столбцов, но он по-прежнему возвращает имена в верхнем регистре

Как мне отключить верхний регистр, пожалуйста?

1 Ответ

3 голосов
/ 09 июля 2020

Oracle по умолчанию сохраняет все имена объектов в верхнем регистре. Если вы хотите использовать смешанный регистр, заключите все в двойные кавычки.

И, на мой взгляд, проживите остаток своей Oracle жизни в страданиях.

На всякий случай, если вы этого не сделали пойми: не делай этого. Вам всегда придется использовать двойные кавычки при ссылке на этот объект и каждый раз использовать один и тот же регистр букв, не делая ошибок.

Демо:

SQL> create table "DonTDoThat" ("my ID" number);

Table created.

SQL> select table_name from user_tables where upper(table_name) = 'DONTDOTHAT';

TABLE_NAME
------------------------------
DonTDoThat

SQL> select * From dontdothat;
select * From dontdothat
              *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select * From DonTdoThat;
select * From DonTdoThat
              *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select * From DONTDOTHAT;
select * From DONTDOTHAT
              *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select * From "DonTDoThat";

no rows selected

SQL>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...