使用 CallableStatement 调用 HSQLDB IDENTITY 函数以获取输出
Posted
技术标签:
【中文标题】使用 CallableStatement 调用 HSQLDB IDENTITY 函数以获取输出【英文标题】:Calling HSQLDB IDENTITY function with CallableStatement to get output 【发布时间】:2012-08-31 20:17:13 【问题描述】:我正在尝试使用 CallableStatements 从 Java JDBC 获取 HSQLDB 中 IDENTITY() 的值。
我可以很好地准备通话。问题在于 registerOutputParameter。无论我传入什么索引,我都会得到“参数索引超出范围”。
我尝试了 SQL sn-ps,例如“? = CALL IDENTITY()”,但没有成功。
有什么线索吗?我是否完全偏离了如何从 JDBC 调用 HSQLDB 函数例程?
【问题讨论】:
【参考方案1】:不使用IDENTITY()
,而是使用getGeneratedKeys()
检索由(插入)语句生成的任何键。
请注意,您确实需要使用Statement.execute...
或Connection.prepare...
方法之一来启用此功能。
【讨论】:
【参考方案2】:呸。
http://sourceforge.net/tracker/index.php?func=detail&aid=3530755&group_id=23316&atid=378134
不支持函数调用的输出参数。使用 executeQuery 并获取 ResultSet。
【讨论】:
以上是关于使用 CallableStatement 调用 HSQLDB IDENTITY 函数以获取输出的主要内容,如果未能解决你的问题,请参考以下文章
使用 CallableStatement 调用 HSQLDB IDENTITY 函数以获取输出