Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Oracle double quotes escaping in column aliases 
V
    Опции темы
rang3r
Дата 16.2.2012, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



Всем доброго времени суток!
Подскажите пж-та в след. ситуации.
Есть запрос такого плана:
Код

select object_id, name as "SOME_RESOURCE",
-- query

Далее в коде SOME_RESOURCE заменяется на no columns_©ÜÄ左'"2</div>(здесь первая ' - single quotes, '' - double quotes)
В итоге запрос 
Код

select object_id, name as "no columns_©ÜÄ左'"2</div>",
--query

Этот запрос кидает ORA-00923: FROM keyword not found where expected
Попробовал сделать экранирование:
Код

select object_id, name as "no columns_©ÜÄ左''""2</div>",
--query

Пишет unimplemented feature. Вернее это на сокращенном (без no columns_).
Иначе кидает ORA-00972: identifier is too long (вылезаем за 30 символов).
Как можно решить эту проблему ? Может кто нибудь сталкивался ?
Заранее спасибо

PM MAIL Skype   Вверх
Zloxa
Дата 16.2.2012, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 37
Всего: 161



Database Object Naming Rules
Цитата

However, neither quoted nor nonquoted identifiers can contain double quotation marks or the null character (\0).



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
rang3r
Дата 16.2.2012, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



Zloxa, спасибо за ссылку, но ответа на вопрос как экранировать я не нашел :(
Цитата


However, neither quoted nor nonquoted identifiers can contain double quotation marks or the null character (\0).

С английским у меня плохо,поэтому перевел в переводчике, вот что он мне выдал
Цитата

Тем не менее, ни цитаты, ни не заключенные в кавычки идентификаторы могут содержать двойные кавычки или нулевой символ (\ 0).

Я так понимаю предлагается убрать внешние ковычки ? 
PM MAIL Skype   Вверх
Zloxa
Дата 17.2.2012, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 37
Всего: 161



Цитата(rang3r @  16.2.2012,  22:49 Найти цитируемый пост)
However, neither quoted nor nonquoted identifiers can contain double quotation marks or the null character (\0).

Цитата(rang3r @  16.2.2012,  22:49 Найти цитируемый пост)
Тем не менее, ни цитаты, ни не заключенные в кавычки идентификаторы могут содержать двойные кавычки или нулевой символ (\ 0).


Английский язык более близок формальной логике. Это по русски двойное отрицание не превращается в утвреждение. "Ничто не может быть..." не  эквивалентно "Что-то может быть...". В английском использование neither не требует дополнительного отрицания can, на русский же can в этом предложении правильно перевести "не могут".

Другими словами, здесь написано, что символ двойной кавычки в идентификаторах использовать нельзя. Наряду с символом null. Как для обернутых в кавычки идентификаторов, так и для не обернутых.

Ответ на ваш вопрос - никак.

Это сообщение отредактировал(а) Zloxa - 17.2.2012, 10:27


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
rang3r
Дата 17.2.2012, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



Цитата(Zloxa @ 17.2.2012,  09:38)
Ответ на ваш вопрос - никак.

Еще раз спасибо.
Собственно после экспериментов с алиасом, решил заменять double quoted symbol на 2 single-quote.
Пользователю при выводе будет не заметно.
Тема закрыта  
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.1118 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.