2009-07-23 3 views
1

Мне нужно ссылаться на столбец с именем limit в старой базе данных оракула, а также использовать SQLite в базе данных для модульного тестирования. Я прочитал для использования backticks в файлах сопоставления, чтобы выполнить это; limit, который отлично работает в SQLite, но разрешает «ограничивать» в oracle и barfs в запросе.Зарезервированные слова в NHibernate

Эта функция реализована правильно для оракула или я что-то упускаю?

Приветствия,

Роб

UPDATE

Кажется, колонна не была создана с кавычками вокруг него, но NHibernate распознает его как зарезервированные и помещает кавычки вокруг него:/

ответ

2

В Oracle вы используете двойные кавычки для ссылочных объектов с именами в качестве зарезервированных слов:

SQL> create table a (number number); 

create table a (number number) 
       ^
ORA-00904: : invalid identifier 

«НОМЕР» - это зарезервированное слово. Тем не менее, вы можете:

SQL> create table a ("number" number); 

Table created 

SQL> select "number" from a; 

    number 
---------- 
+0

Спасибо за ответ, вот как именно она будет решена в запросе:. ВЫБРАТЬ платеж «предел», как limit7_8_0_ от уплаты который проливает ORA-00904: «предел»: недопустимый идентификатор:/ – theGecko

+0

Получил его, см. обновление :) – theGecko

Смежные вопросы