gpt4 book ai didi

java - 创建聚合函数在 hsqldb 中不起作用

转载 作者:行者123 更新时间:2023-12-01 14:28:09 25 4
gpt4 key购买 nike

我正在尝试按照本页中给出的语法为 hsqldb 中的聚合函数创建 java 语言例程 - http://hsqldb.org/doc/2.0/guide/sqlroutines-chapt.html#src_jrt_aggregate_functions

SQL used:
CREATE AGGREGATE FUNCTION TESTFUNCTION(INOUT ARG DOUBLE) RETURNS DOUBLE
NO SQL
LANGUAGE JAVA
EXTERNAL NAME 'CLASSPATH:com.XXX.tips.TestUtil.HsqlCustomFunctions.TESTFUNCTION';

我正在使用 spring jdbcTemplate.execute 方法来运行 sql,并且出现以下异常:

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [

nested exception is java.sql.SQLException: Unexpected token: AGGREGATE in statement [

CREATE AGGREGATE]
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:98)
at
...
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.sql.SQLException: Unexpected token: AGGREGATE in statement [

CREATE AGGREGATE]
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.execute(Unknown Source)
at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:420)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:395)
... 21 more

有人可以帮我吗?我不明白为什么会发生这种情况。这很奇怪,因为它说 AGGREGATE 是一个意外的标记,但我遵循正确的语法

提前致谢

最佳答案

这种异常通常表明您使用的是旧版本的 HSQLDB。堆栈跟踪中的类名显示这是旧版本 1.8。使用最新的HSQLDB 2.x。

关于java - 创建聚合函数在 hsqldb 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17025829/

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