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

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

2 ответов


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

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

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

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

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

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

SELECT id, somecolumn FROM foo;

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

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

для получения более подробной информации о (цитата) идентификаторы, пожалуйста, прочитайте руководство: http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements008.htm#i27561


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

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

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

select * from "t";

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

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