Подпоследовательность как первичный ключ

У меня есть сценарий, в котором мне нужно сгенерировать номер партии (первичный ключ) в следующем формате.

Номер партии: ( X X) ( X X X X X) Последовательность местоположения

         Eg:   0100001
               0100002
               0200001
               0100003
               0200002
               .......

Последовательность начинается с 00001 для каждой партии. Однако у нас не может быть генератора порядкового номера, чтобы сделать это. Возможные решения, которые у меня есть над головой:

  1. Создайте дополнительную таблицу, которая содержит числа. Но существует вероятность того, что несколько пользователей получат одинаковую последовательность, поскольку могут быть незафиксированные транзакции.
  2. Каждый раз, когда объект сохраняется, мы получаем максимальное значение (подстрока (batchnum,2)) из этого столбца и добавляем +1. Но это будет очень сильно перегружать производительность, а также приведет к тому, что несколько пользователей получат одинаковую последовательность.

0 ответов

Другие вопросы по тегам