我剛剛使用Oracle,因此我要脫離之前已在this SO question中回答過的問題。我似乎無法得到它的工作。下面是我使用的語句:使用JDBC獲取Oracle 11g的最後一個插入ID
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,上面寫着:
無法執行取一個PLSQL聲明:下一
如何獲取lastId
?很明顯,我做錯了。
您可以隨時查詢'SELECT FOO_ID_SEQ.CURRVAL FROM DUAL'。 – Phil
發佈函數或存儲過程 - 需要知道是否將'lastid'設置爲INOUT參數。 –
如果我必須執行另一個查詢,我不能保證它是我剛剛插入的元素的id。那裏可能會有另一個查詢。 – geowa4