使用CallableStatement调用HSQLDB IDENTITY函数以获取输出

时间:2012-08-31 20:17:14

标签: jdbc hsqldb

我正在尝试使用CallableStatements从Java JDBC中获取HSQLDB中的IDENTITY()值。

我可以准备好。问题在于registerOutputParameter。无论我传入什么索引,我都会得到“参数索引超出范围”。

我已经尝试过像“{?= CALL IDENTITY()}”这样的SQL片段而没有运气。

任何线索?我是否完全偏离了如何从JDBC调用HSQLDB函数例程?

2 个答案:

答案 0 :(得分:3)

使用getGeneratedKeys()来检索由(insert)语句生成的任何键,而不是使用IDENTITY()

请注意,您需要使用支持此功能的Statement.execute...Connection.prepare...方法之一。

答案 1 :(得分:2)

尔加。

http://sourceforge.net/tracker/index.php?func=detail&aid=3530755&group_id=23316&atid=378134

不支持函数调用的输出参数。使用executeQuery并获取ResultSet。