2013-04-08 8 views
1

Я использую SQL Developer для создания таблиц oracle. Я пытаюсь создать столбцы без кавычек, но после создания таблицы, когда я вижу DDL, все столбцы и имена таблиц указаны в котировках. Я хочу, чтобы все столбцы были нечувствительны к регистру.столбец разработчика oracle sql без кавычек

Как это сделать? Пожалуйста, порекомендуйте.

Контекст здесь, у меня есть код на PHP. Я переношу свой сервер из MySQL в Oracle. При использовании MySQL я ссылался на все столбцы таблицы в нижнем регистре. Но похоже, что OCI_FETCH_ARRAY возвращает данные в столбцах «Верхний регистр». Так что я должен изменить свой PHP-код, чтобы использовать Uppercase или есть ли другая альтернатива? У меня есть много кода для изменения!

ответ

1

Ahh, наконец, понял это. Да, я согласен, цитаты не всегда делают объект чувствительным к регистру, но моя проблема была OCI_FETCH_ALL, OCI_FETCH_ARRAY и т. Д. Извлекли столбцы таблицы в верхнем регистре, тогда как я хотел их в нижнем регистре. Следующее утверждение является обходным решением проблемы. он преобразует столбцы в нижний регистр.

$ data_upper = oci_fetch_assoc ($ data_res);
$ data = array_change_key_case ($ data_upper, CASE_LOWER);

Спасибо!

0

Котировочные знаки не всегда делают объект чувствительным к регистру. Объекты во всем верхнем регистре всегда нечувствительны к регистру, даже если они окружены кавычками.

SQL> create table test1("QUOTES_DONT_DO_ANYTHING_HERE" number); 

Table created. 

SQL> select quotes_DONT_do_ANYTHING_here from test1; 

no rows selected 

Обычно вы видите только кавычки, потому что некоторые инструменты автоматически добавляют их ко всему.

Смежные вопросы