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