Как я могу создать таблицу с оракулом, но с маленькими символами?
Как я могу создать таблицу с оракулом, но с маленькими символами, когда я создаю таблицу с маленькими символами, она автоматически конвертируется в заглавные символы.
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 нечувствителен к регистру, вам нужна веская причина для использования зависимых от регистра имен объектов.