hsqldb是否支持oracle兼容模式下的表别名

时间:2013-03-19 15:21:11

标签: oracle alias hsqldb

我们在dao测试中使用hsqdb-2.2.9。通过设置SET DATABASE SQL SYNTAX ORA TRUE;使hsqldb与oracle兼容(在生产中),我们使用ibatis sql map。

当sql包含表别名select a.name, b.code form t_a a, t_b b where a.id = b.a_id,报告unexpected token a时,它会失败。我们尝试在表和表别名之间添加“as”,它也不起作用。我想念一下吗?

2 个答案:

答案 0 :(得分:0)

是的,HSQLDB支持表别名。

如果您使用报告的确切查询,则会得到:

 unexpected token: T_A 

如果您更正了a_horse_with_no_name注释的查询,它应该有效。如果其中一个表不存在,您将获得:

  user lacks privilege or object not found: T_A 

BTW,尝试使用最新的2.3.0快照jar进行更好的Oracle兼容性测试。您可以从网站的支持页面找到它。

答案 1 :(得分:0)

呃....我想我已经找到了我自己的问题........我突然想到我使用'do'(表名是t_delivery_order)作为表别名,恰好是hsqldb(或sql)中的关键字。只需将'do'替换为'd',将其修复即可。谢谢大家

相关问题