我正在使用H2数据库。我有一个带有标识列的表。我执行一个插入,然后尝试调用identity()函数来确定分配给新创建的行的id。
这是我用来调用身份函数的代码片段:
CallableStatement cs = dbConnection.prepareCall("{ ? = call IDENTITY()}");
cs.registerOutParameter(1, Types.BIGINT);
cs.execute();
id = cs.getLong(1);
cs.close();
我遇到的问题是,由于某种原因,此功能在服务器模式下工作,但在嵌入模式下调用该函数时会出现此错误:
org.h2.jdbc.JdbcSQLException:未设置参数“#1”; SQL语句: ? =致电IDENTITY()[90012-160]