Как настроить increment by последовательности db h2?
В новой "пустой" базе данных создаётся последовательность:
create sequence simple_sequence as long increment by 1 start with 1;
Создаётся алиас:
create alias controlSequence as $$
ResultSet controlSequence(java.sql.Connection conn) throws SQLException {
String sql = null;
long lastlong = 0;
int lastvalue = 0;
java.sql.ResultSet rs = null;
sql = "select next value for simple_sequence";
rs = conn.createStatement().executeQuery(sql);
while (rs.next()) {lastlong = rs.getLong(1);};
lastvalue = (int) lastlong;
sql = "select " + lastvalue;
return conn.createStatement().executeQuery(sql);
}
$$;
после вызова процедуры:
call controlSequence();
текущее значение счётчика равно 3, как будто процедура сработала три раза. И, далее, последующие вызовы controlSequence() увеличивают значение на 3. при этом, выполнение команды в консоли:
select next value for simple_sequence;
увеличивает значение счётчика на 1.
db h2 version 2.1.212 (2022-04-09), среда выполнения jdk-11, jdk-17, ubuntu 20.04.4
Как настроить значение increment by последовательности ?