DbUnit HSQLDB-无效的架构名称:C

| 使用以下查询运行测试时,HSQLDB会将表别名误认为是架构。
SELECT c.country_ml2country as CTRY_PK, c.name as CTRY_NAME,
l.name as LANGUAGE_NAME, l.code as LANGUAGE_CODE
FROM country_ml as c, language as l
WHERE c.language(+) = l.id and c.country_ml2country(+) = ?
ORDER BY l.name ASC;
有谁之前经历过这个吗?如果“是”,那么解决方法是什么? 请注意,如果我将“ 1”更改为“ 2”,则错误消息将相应地更改为“ 3”。     
已邀请:
问题是非标准的Oracle风格的OUTER JOIN语法,该语法特定于Oracle,其他SQL方言不支持。
WHERE c.language(+) = l.id and c.country_ml2country(+) = ?
您应该改用Oracle也支持的以下标准语法:
SELECT c.country_ml2country as CTRY_PK, c.name as CTRY_NAME,
l.name as LANGUAGE_NAME, l.code as LANGUAGE_CODE
FROM country_ml as c RIGHT OUTER JOIN language as l
ON c.language = l.id and c.country_ml2country = ?
ORDER BY l.name ASC
    

要回复问题请先登录注册