我是使用 Oracle 的新手,所以我将放弃之前在 this SO question 中已经回答的问题.我似乎无法让它工作。这是我正在使用的声明:
declare
lastId number;
begin
INSERT INTO "DB_OWNER"."FOO"
(ID, DEPARTMENT, BUSINESS)
VALUES (FOO_ID_SEQ.NEXTVAL, 'Database Management', 'Oracle')
RETURNING ID INTO lastId;
end;
当我调用 executeQuery
我创建的 PreparedStatement 时,它会将所有内容插入到数据库中。但是,我似乎无法弄清楚如何检索 ID。返回的 ResultSet 对象对我不起作用。呼唤
if(resultSet.next()) ...
产生一个讨厌的 SQLException,内容如下:
Cannot perform fetch on a PLSQL statement: next
我如何获得 lastId
?显然我做错了。
最佳答案
使它成为一个将它返回给你的函数(而不是一个过程)。或者,有一个带有 OUT 参数的过程。
关于java - 使用 JDBC 获取 Oracle 11g 的最后插入 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4952256/