Ошибка порядкового номера Oracle при ошибке процедуры хранилища - PullRequest
0 голосов
/ 15 ноября 2018

У меня этот запрос работает нормально, когда я тестирую его

INSERT INTO some_table VALUES (EXAMPLE.SEQ_EXAMPLE_ID.NEXTVAL, 'TEST', 'TEST');

Но когда я пытаюсь использовать тот же запрос внутри хранимой процедуры, я получаю

ORA-00001: unique constraint (EXAMPLE.PK_SOME_TABLE) violated

Если я выберу some_table, используя сгенерированный порядковый номер, ничего не вернется.

Я уже проверил ограничения на таблицу SELECT * FROM all_indexes WHERE TABLE_NAME = 'some_table'; и все вроде бы нормально.

- отредактировано

Мы решили проблему с созданием последовательности, все еще не зная, в чем заключалась основная проблема, но удаление и создание последовательности снова решили проблему.

1 Ответ

0 голосов
/ 26 ноября 2018

Есть только две операции, которые вы можете сделать с помощью Sequence. Далее не является действительным утверждением.

  1. Чтобы найти следующее значение (sequence.NEXTVAL)
  2. Чтобы найти текущее значение (sequence.CURRVAL)

Как только последовательность создана, следующее значение должно вызываться как минимум один раз перед вызовом текущего значения. Чтобы узнать больше о последовательности, пожалуйста, нажмите на ссылку ниже.

https://docs.oracle.com/database/121/SQLRF/pseudocolumns002.htm#SQLRF00253

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...