Получить последнюю вставку id с Oracle 11g с использованием JDBC

Я новичок в использовании Oracle, поэтому я ухожу от того, на что уже был дан ответ в этом вопросе SO . Я просто не могу заставить его работать. Вот оператор, который я использую:

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, он отлично вставляет все в базу данных. Однако я не могу понять, как получить идентификатор. Возвращенный объект ResultSet у меня работать не будет. Вызов

if(resultSet.next()) ...

дает неприятное SQLException, которое гласит:

Невозможно выполнить выборку для оператора PLSQL: next

Как мне получить этот lastId ? Очевидно я делаю это неправильно.

5
задан Community 23 May 2017 в 12:25
поделиться