1

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

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

我已经尝试过像“{? = CALL IDENTITY()}”这样的 SQL 片段,但没有成功。

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

4

2 回答 2

4

代替 using IDENTITY(), usegetGeneratedKeys()来检索由 (insert) 语句生成的任何键。

请注意,您确实需要使用将启用此功能的方法之一Statement.execute...Connection.prepare...

于 2012-09-01T10:05:20.007 回答
2

嘎。

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

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

于 2012-08-31T21:03:18.793 回答