Я разработал следующую последовательность для БД ORACLE 10, которая автоинкрементирует столбец идентификатора таблицы с именем t_client от 1 (Триггер также разрабатывается и выполняется при появлении новых данных на этой таблице зарегистрировано)
Проблема в том, что иногда последовательность не увеличивается на 1 , если не на 21 . Я не нахожу проблему по ее увеличению на 21 . Вот пример кода
Secuence ClientConsecutive
CREATE SEQUENCE user_owner.ClientConsecutive
MINVALUE 0
MAXVALUE 999999999999999999999999999
INCREMENT BY 1
START WITH 1
CACHE 20
NOORDER NOCYCLE ;
Trigger_Client_ID
create or replace
TRIGGER user_owner.TRIGGER_CLIENT_ID
BEFORE INSERT ON T_CLIENT
REFERENCING NEW AS NEW FOR EACH ROW
DECLARE valueSequence NUMBER := 0;
BEGIN
SELECT ClientConsecutive.NEXTVAL INTO valorSecuencia FROM DUAL;
:NEW.ID_CLIENTE := valueSequence;
END;
Когда приложение, связанное с этими объектами, выполняет его, на SQL-разработчике, ищущем детали последовательности, иногда оно визуализирует
LAST_NUMBER 2
, что правильно, когда я регистрирую новые данные в пустой таблице, но иногда говорит
LAST_NUMBER 21
Есть идеи?