2013-03-19 80 views
0

我們在dao測試中使用hsqdb-2.2.9。 hsqldb通過設置SET DATABASE SQL SYNTAX ORA TRUE;與oracle(在生產中)兼容,我們使用ibatis sql map。hsqldb在oracle兼容模式下是否支持表別名

當sql包含表別名時,它會失敗,如select a.name, b.code form t_a a, t_b b where a.id = b.a_id,它報告unexpected token a。我們嘗試在表和表別名之間添加'as',但它也不起作用。我想念什麼?

+2

'form'應該是'from' – 2013-03-19 15:31:55

+0

謝謝你的錯誤 – Hippoom 2013-03-20 07:13:54

回答

0

是的,HSQLDB支持表別名。

如果你使用報告的準確查詢,你會得到:

unexpected token: T_A 

如果您更正查詢由a_horse_with_no_name它應該工作評價。如果表中不存在,你會得到:

user lacks privilege or object not found: T_A 

順便說一句,請嘗試使用最新的2.3.0快照罐子更好甲骨文兼容性測試。你可以從網站的支持頁面找到它。

+0

謝謝你的回覆,我糾正了sql並得到'user lacks privilege or object not found:',但表中確實存在actaully ,還有其他可能嗎? @fredt – Hippoom 2013-03-20 07:16:02

0

呃....我想我已經找到了我自己的問題........我突然想到,我使用'do'(表名是t_delivery_order)作爲表名,它恰好是hsqldb(或sql)中的關鍵字。只需將'do'替換爲'd'即可。謝謝大家