идентификация по столбцу ID не работает хорошо - PullRequest
0 голосов
/ 25 июня 2018

У меня проблема при использовании идентификатора автоматической последовательности. В начале все работает хорошо, но после того, как оно начинает показывать большие цифры

ID NAZIV         KATEGORIJA                    OPIS              OBAVLJENO
-- --------------- ------------------- ----------------------------- ---------
21 osmi zadatak    pl/sql blok        kreiranje anonimnog pl/sql blo  n
                       ka

 1 prvi zadatak    kreiranje tablespac kreiranje tablespace-a sa odre y
           -a              djenim karakteristikama

 2 drugi zadatak   kreiranje usera     kreiranje usera sa odredjenim  y
                       karakteristikama

 3 treci zadatak   kreiranje tabele    kreiranje tabele sa testnim po y
                       dacima

 4 cetvrti zadatak kreiranje b-tree in kreianje b-tree indexa nad kol y
           dexa            onom id

 5 peti zadatak    kreiranje sequence  kreiranje sequence seq_zadaci_ y
                       id

 6 sesti zadatak   ubacivanje podataka ubacivanje podataka u tabelu i y
            u tabelu        izvrsiti nekoliko izmena

 7 sedmi zadatak   kreiranje paketa    kreiranje paketa sa uskladiste n
                       nim procedurama

Пока все работало хорошо, поэтому я назвал все данные в таблице:

SQL> insert into zadaci (naziv, kategorija, opis, obavljeno)
  2  values ('osmi zadatak', 'pl/sql blok', 'kreiranje anonimnog pl/sql bloka', 'n');

1 Ответ

0 голосов
/ 25 июня 2018

В столбце идентификаторов используется последовательность в фоновом режиме.

Из руководства по понятиям :

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

ПРЕДУПРЕЖДЕНИЕ:

Если вашему приложению требуется набор чисел без пробелов, вы не можете использовать последовательности Oracle.Вы должны сериализовать действия в базе данных, используя собственный разработанный код.

Ожидаются пробелы, которые могут быть вызваны откатом вставок, ручными вызовами последовательности (маловероятно, с идентификатором столбца) иликэшированные значения могут быть потеряны в случае сбоя БД.

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

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