2013-03-19 2 views
0

Мы используем hsqdb-2.2.9 в тестах dao. Hsqldb был совместим с оракулом (в производстве), установив SET DATABASE SQL SYNTAX ORA TRUE;, и мы используем карту ibatis sql.Поддерживает ли hsqldb псевдоним таблицы поддержки в оракуле

Это не удается, когда sql содержит псевдоним таблицы, что-то вроде select a.name, b.code form t_a a, t_b b where a.id = b.a_id, в котором сообщается unexpected token a. Мы попытались добавить «как» между псевдонимом таблицы и таблицы, и он тоже не работает. Я что-то пропустил?

+2

'form' должно быть' from' –

+0

Спасибо, его опечатка – Hippoom

ответ

0

Да, HSQLDB поддерживает псевдонимы таблиц.

Если вы используете точный запрос, который вы сообщили, вы получите:

unexpected token: T_A 

Если вы исправить запрос как прокомментировал a_horse_with_no_name он должен работать. Если одна из таблиц не существует, вы получите:

user lacks privilege or object not found: T_A 

BTW, попробуйте использовать последнюю версию 2.3.0 снимок баночки для лучших тестов на совместимости Oracle. Вы можете найти его на странице поддержки веб-сайта.

+0

Спасибо за ваш ответ, я исправляю sql и получаю «пользователь не имеет привилегии или объекта не найден:», но таблица действительно действует actaully , Есть ли другие возможности? @fredt – Hippoom

0

э-э ... Я думаю, что нашел свою проблему ........ самостоятельно. Внезапно мне приходит в голову, что я использую «do» (имя таблицы - t_delivery_order) как псевдоним таблицы, который является ключевым словом в hsqldb (или в sql). Просто замените 'do' на 'd', его исправлено. Thank you all

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