我正在尝试使用CallableStatements从Java JDBC中获取HSQLDB中的IDENTITY()值。
我可以准备好。问题在于registerOutputParameter。无论我传入什么索引,我都会得到“参数索引超出范围”。
我已经尝试过像“{?= CALL IDENTITY()}”这样的SQL片段而没有运气。
任何线索?我是否完全偏离了如何从JDBC调用HSQLDB函数例程?
答案 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。