Function 是否可以创建不需要括号的自定义函数?

Function 是否可以创建不需要括号的自定义函数?,function,hsqldb,Function,Hsqldb,我试图模拟一个Oracle函数,它没有任何用于JUNIT测试的参数。在内部,HSQLDB必须具有此属性,因为当前的_时间戳不需要括号 我想这样做: 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'

我试图模拟一个Oracle函数,它没有任何用于JUNIT测试的参数。在内部,HSQLDB必须具有此属性,因为当前的_时间戳不需要括号

我想这样做:

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;
但这不是我的选择,因为我无法在原始代码中添加括号

谢谢你的帮助

问候,


Shaun

HSQLDB还不支持在不添加括号的情况下调用函数。出于兼容性考虑,未来版本可能支持此功能。您可以将Java代码添加到测试中,为使用HSQLDB进行测试时选择的特定名称模式添加括号