Как я могу создать таблицу с оракулом, но с маленькими символами?

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

2 ответа

Решение

Сворачивание (не заключенных в кавычки) имен таблиц в верхний регистр требуется стандартом ANSI SQL.

Вы можете создавать таблицы (и столбцы) с именами в нижнем регистре, используя идентификатор в кавычках (опять же, это соответствует стандарту SQL):

CREATE TABLE "foo" 
(
   "id"          integer,
   "SomeColumn"  varchar(100)
);

Однако я настоятельно советую вам не делать этого.

После того, как ваши таблицы созданы таким образом, вы всегда должны использовать двойные кавычки, потому что любое имя без кавычек будет (в соответствии с правилами для идентификаторов SQL) снова сгибаться в верхний регистр и, таким образом, не будет совпадать с именем, которое хранится в системных каталогах.

Поэтому следующее утверждение не будет работать:

SELECT id, somecolumn FROM foo;

Вы должны использовать цитируемый идентификатор:

SELECT "id", "SomeColumn" FROM "foo";

Для более подробной информации о (цитируемых) идентификаторах, пожалуйста, прочитайте главу Правила именования объектов базы данных в руководстве.

Заключите имя таблицы в кавычки ("). Также создайте свой стол вот так

create table "t" ( a number, b varchar2(10) );

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

select * from "t";

Вы можете использовать ту же конструкцию для других объектов (столбцы, индексы, ...).

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

Другие вопросы по тегам