Можно ли создать таблицу с именем столбца, содержащим пробел? Если да, то как я могу его создать и использовать?
Имя столбца таблицы Oracle с пространством
Ответ 1
Возможно, но это не рекомендуется. Вы должны заключить имя столбца в двойные кавычки.
create table my_table ("MY COLUMN" number);
Но обратите внимание на предупреждение в документации:
Примечание: Oracle не рекомендует использовать цитированные идентификаторы для базы данных имена объектов. Эти цитируемые идентификаторы принимаются SQL * Plus, но они могут быть недействительными при использовании других инструментов, которые управляют базой данных объекты.
Имя будет чувствительным к регистру, и вы должны будете заключать это имя в двойные кавычки каждый раз, когда вы ссылаетесь на него:
select "MY COLUMN" from my_table;
Итак... не надо, был бы моим советом...
Ответ 2
Да, это возможно. Вы просто должны указать название столбца. Например:
CREATE TABLE Fubar ("Foo Bar" INT);
INSERT INTO Fubar VALUES (1337);
SELECT "Foo Bar" FROM SpaceMonster
Даже если это возможно, это не делает его хорошей идеей. Вероятно, вы избавитесь от боли, если просто замените все пробелы символами подчеркивания.
Ответ 3
Вы можете (см. документ Oracle), если вы укажете их соответствующим образом. Однако я подозреваю, что это не очень хорошая идея, так как вам придется процитировать все. Как правило, стандарты/соглашения об именах db (например здесь или здесь) пользуйтесь символами подчеркивания (которые не требуют цитирования) над пробелами.
Ответ 4
это возможно, назвав столбец между двумя "
пример: "My columN", имя столбца становится чувствительным к регистру, что означает.
SELECT "my column" from table; --NOT OK
SELECT "My columN" from table; --OK
Ответ 5
Это правило столбцов, определенное для oracle
Столбцы (для таблиц)
- Все столбцы в форме {alias} _ {colname}. Например, prs_id,
prs_name, prs_adr_id, adr_street_name. Это гарантирует, что столбец
имена уникальны в схеме, за исключением денормализованных столбцов из
другая таблица, заполняемая с помощью триггеров или приложений
логика.
- Все столбцы находятся в единственном числе. Если вы считаете, что вам нужно имя колонки во множественном числе, подумайте дважды, правильно ли это? Обычно это означает, что вы включаете несколько значений в один столбец и что следует избегать.
- Все таблицы имеют суррогатный первичный ключевой столбец в форме {alias} _id, который является первым столбцом в таблице. Например, prs_id, mat_id, adr_id.
у вас всегда может быть псевдоним для имени столбца bu, используя ""
Ответ 6
Вы Google для этого? Я сделал - 6-я ссылка была this, в которой я нахожу следующее:
create table employee (
"First Name" varchar2(20),
"Last Name" varchar2(20),
Address varchar2(60),
Phone varchar2(15),
Salary number,
EmpID number,
DeptID number
);
... который отлично работает, когда я пробовал его в 10g.