如何在HyperSQL(HSQL)中启用DB2语法?

如何在HyperSQL(HSQL)中启用DB2语法?,db2,hsqldb,Db2,Hsqldb,我正在尝试使用HSQL进行测试。在生产环境中,代码针对DB2数据库运行。我想打开HSQL的DB2语法,并对其运行生产SQL(或者尽可能多地运行) 根据,在DB2语法模式下,支持nextval for表达式 我已经使用connection属性sql.syntax\u DB2=true和以下两种方式打开了DB2语法模式: set database sql syntax db2 true; 但是,我无法为使用nextval,尽管的语法next值工作正常: values (next value for

我正在尝试使用HSQL进行测试。在生产环境中,代码针对DB2数据库运行。我想打开HSQL的DB2语法,并对其运行生产SQL(或者尽可能多地运行)

根据,在DB2语法模式下,支持
nextval for
表达式

我已经使用connection属性
sql.syntax\u DB2=true
和以下两种方式打开了DB2语法模式:

set database sql syntax db2 true;
但是,我无法为使用
nextval,尽管
的语法
next值工作正常:

values (next value for test_seq); -- returns the next value
values (nextval for test_seq); -- results in an error
错误是:

Error: user lacks privilege or object not found: NEXTVAL
SQLState:  42501
ErrorCode: -5501

是我没有正确激活DB2语法模式,还是我做了其他错误的事情?我是以SA身份登录的,这可能是权限问题吗?

文档中有错误。双表的支持方式与Oracle语法中的支持方式相同,但NEXTVAL是一种Oracle表单,用作
test\u seq.NEXTVAL


DB2支持test_seq的
下一个值,并允许NEXTVAL作为下一个值的替代。这将在下一版本的HSQLDB中得到支持。

您是否支持UR?因为我甚至在版本2.3.3中设置了DB2SyntaxNot,所以也出现了错误。可能在下一版本中支持它