Как настроить 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 последовательности ?


Ответы (0 шт):