我正在尝试模拟一个没有任何JUNIT测试参数的Oracle函数。在内部,HSQLDB必须具有此功能,因为CURRENT_TIMESTAMP不需要括号。
我想做这样的事情:
set database sql syntax ORA false;
CREATE SCHEMA DATE_FUNCTION AUTHORIZATION DBA;
CREATE FUNCTION DATE_FUNCTION.HIGH_DATE() RETURNS DATE
LANGUAGE SQL
RETURN DATE '9999-12-31';
set database sql syntax ORA true;
select DATE_FUNCTION.HIGH_DATE from dual;
我收到此错误:
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: DATE_FUNCTION.HIGH_DATE
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.ExpressionColumn.checkColumnsResolved(Unknown Source)
它适用于:
select DATE_FUNCTION.HIGH_DATE() from dual;
这不是我的选择,因为我无法在原始代码中添加括号。
感谢您的帮助。
此致
肖恩
答案 0 :(得分:0)
HSQLDB在不添加括号的情况下还不支持调用函数。未来版本可能支持兼容性。您可以在测试中添加Java代码,以便为使用HSQLDB进行测试时选择的特定名称模式添加括号。