powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Кавычки в имени таблицы....глюк или так и надо?!
7 сообщений из 7, страница 1 из 1
Кавычки в имени таблицы....глюк или так и надо?!
    #32156372
manumba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выполняю такой скрипт:

Код: plaintext
1.
2.
create table t_1 ( 
   ID NUMBER( 6 )
)


сразу за ним такой ( отличие от первого только в кавычках):

Код: plaintext
1.
2.
create table  "t_1"  ( 
   ID NUMBER( 6 )
)


Оба выполнились нормально!

Делаю запрос по таблицам:
select * from user_tables;

результат:
Код: plaintext
1.
2.
3.
TABLE_NAME
T_1
t_1


Как это обьяснить? Ведь регистр не имеет значения и таблиц с одинаковыми именами, но разницой в регистре вроде не может быть! ...хотя похоже пожет - судя по запросам:

select * from t_1 или select * from T_1 - обращение к одной и той же таблице

а вот запрос :
select * from "t_1" - это уже к другой

Ну хорошо, допустим в кавычках и без кавычек- это совершенно разные таблицы. Почему же тогда, когда я пытаюсь создать вначале t_1, а потом "T_1" (а не "t_1"), то пишет, что такое имя уже существует?!!!

И почему тогда запрос к user_tables не выдает результат типа:
Код: plaintext
1.
T_1
 "t_1" 

Куда он теряет эти кавычки?
...
Рейтинг: 0 / 0
Кавычки в имени таблицы....глюк или так и надо?!
    #32156381
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bez kavichek imena tablic (i kolonok) perevodiatsia v
verxnij registr. V kavichkax otarbatovaetsia "kak est".

JJ
...
Рейтинг: 0 / 0
Кавычки в имени таблицы....глюк или так и надо?!
    #32156386
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имена объектов при создании преобразуются в верхний регистр по умлчанию. Это где то установить можно.

Подавить преобразование в верхний регистр можно взяв имя в кавычки.
...
Рейтинг: 0 / 0
Кавычки в имени таблицы....глюк или так и надо?!
    #32156409
manumba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, но если я напишу create table "t_1", то я потом не смогу написать запрос select * from t_1 - не работает......можно только select * from "t_1"
...
Рейтинг: 0 / 0
Кавычки в имени таблицы....глюк или так и надо?!
    #32156416
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имена объектов при запросе .... и далее по тексту:)
...
Рейтинг: 0 / 0
Кавычки в имени таблицы....глюк или так и надо?!
    #32156454
Delerium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tak nado.
Mozhno sdelatj vsjakiji tabljici, osobeno prikoljno sozdavatj takiji:

create table "DELERIUM" (a number);
create table "DELERIUM " (a number);
create table "DELERIUM " (a number);

ilji

create table "Delerium" (a number);

SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
DELERIUM
DELERIUM
DELERIUM
Delerium

Dazhe eto prohodjit:

SQL> create table "Hi, Jack" (a number);
Table created.
...
Рейтинг: 0 / 0
Кавычки в имени таблицы....глюк или так и надо?!
    #32156496
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
It is all documented in SQL Reference Manual, chapter 2 Basic Elements of Oracle SQL, Schema Object Names and Qualifiers, Schema Object Naming Rules, Rule 12:

12. A name can be enclosed in double quotation marks. Such names can contain any combination of characters, including spaces, ignoring rules 3 through 7 in this list. This exception is allowed for portability, but Oracle recommends that you do not break rules 3 through 7.

If you give a schema object a name enclosed in double quotation marks, you must use double quotation marks whenever you refer to the object.

Enclosing a name in double quotes allows it to:

Contain spaces

Be case sensitive

Begin with a character other than an alphabetic character, such as a numeric character

Contain characters other than alphanumeric characters and _, $, and #

Be a reserved word

By enclosing names in double quotation marks, you can give the following names to different objects in the same namespace:

emp
"emp"
"Emp"
"EMP "

Note that Oracle interprets the following names the same, so they cannot be used for different objects in the same namespace:

emp
EMP
"EMP"


If you give a user or password a quoted name, the name cannot contain lowercase letters.

Database link names cannot be quoted.



SY.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Кавычки в имени таблицы....глюк или так и надо?!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]