gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 11:06:14 32 4
gpt4 key购买 nike

当使用以下查询运行测试时,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;

有没有人遇到过这种情况?如果"is",那么解决方法是什么?

请注意,如果我将 FROM country_ml as c 更改为 FROM country_ml as bob,则错误消息会相应地更改为 invalid schema name: BOB.

最佳答案

问题是非标准的 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

关于oracle - DbUnit HSQLDB - 无效的架构名称 : C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5657486/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com