Мне нужно создать запрос запуска, который вернет следующее значение ID в следующей таблице:
CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
)
В Oracle вы можете вызвать NEXTVAL в последовательности и дать следующую последовательность (обратите внимание: без необходимости вставки в таблицу).
После googling я обнаружил, что вы можете найти текущее значение auto_increment, используя следующий запрос:
SELECT Auto_increment
FROM information_schema.tables
WHERE table_name='animals';
Проблема в том, что я хотел бы, чтобы значение увеличивалось каждый раз при запросе значения. В Oracle, когда вы вызываете nextval, значение последовательности увеличивается, даже если вы не вставляете строку в таблицу.
Можно ли каким-либо образом изменить указанный выше запрос так, чтобы возвращаемое значение всегда отличалось от последнего запроса запроса? то есть Auto_increment увеличивается каждый раз, когда он проверяется, и при использовании в запросе он будет использовать новое значение.
Я использую Spring JDBCTemplate, поэтому, если это можно сделать в одном запросе, тем лучше.