|
|
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть электронная очередь, в течении дня номер каждой записи должен быть уникален, следующий присваивается максимальный +1, если запись удалена, её номер больше не используется. Например, я вставляю запись таким запросом: Код: plsql 1. 2. 3. И если я параллельно с коллегой в жабе выполняю этот запрос, 50% записей получают один номер. То есть, если мы жмём кнопку в одну секунду, номер дублируется. Я пробовала вешать триггер на это поле, но ситуация не изменилась. Что посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 08:33 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Morra, если версия древняя - sequence в 12 и выше "автономер" ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 08:52 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Morra, unique constraint ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 08:52 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Morra, обычный sequence Код: plsql 1. 2. 3. 4. 5. Код: plsql 1. В конце дня джобом прогоняете до последнего значения и на сл.день у вас снова счётчик начинается заново Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 11:27 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
feagorВ конце дняЭто когда конкретно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 11:39 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
MorraЧто посоветуете? Забудь про таблицу, используй пакетную переменную. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 12:58 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovMorraЧто посоветуете? Забудь про таблицу, используй пакетную переменную. В дырочку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 13:01 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Elic, есть регламентная процедура, так и називается закрытие дня ps счетчик я б сбрасывал не накруткой, а алтером .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 13:02 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
MorraИ если я параллельно с коллегой в жабе выполняю этот запрос, 50% записей получают один номер. То есть, если мы жмём кнопку в одну секунду, номер дублируется. Изучайте транзакции. В частности - уровень изоляции SERIZLIZABLE. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 13:22 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovиспользуй пакетную переменную.Получать нумерацию с 1 в каждой новой сессии несколько хуже, чем дубли при одновременном выполнении. Dimitry SibiryakovИзучайте транзакции. В частности - уровень изоляции SERIZLIZABLE.Не поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 13:51 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Staxесть регламентная процедура, так и називается закрытие дняДумаешь, он тоже кулик и в таком же болоте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 14:03 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Morraследующий присваивается максимальный +1 Непрерывность присваиваемых номеров обязательна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 14:08 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
-2-Dimitry Sibiryakovиспользуй пакетную переменную.Получать нумерацию с 1 в каждой новой сессии несколько хуже, чем дубли при одновременном выполнении. Dimitry SibiryakovИзучайте транзакции. В частности - уровень изоляции SERIZLIZABLE.Не поможет.Может Дмитрия взломали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 14:17 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
AmKadМожет Дмитрия взломали? Да, первое сентября со мной случилось. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 14:25 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Staxсчетчик я б сбрасывал не накруткой, а алтером Создаем последовательности SEQ_YYYYMMDD на остаток текущего года. Создаем job который выполнятся раз в год (e.g. 15 Декабря) и создает последовательности SEQ_YYYYMMDD на весь следующий год. В BEFORE INSERT триггере: Код: plsql 1. 2. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 14:46 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
SYStaxсчетчик я б сбрасывал не накруткой, а алтером Создаем последовательности SEQ_YYYYMMDD на остаток текущего года. Создаем job который выполнятся раз в год (e.g. 15 Декабря) и создает последовательности SEQ_YYYYMMDD на весь следующий год. В BEFORE INSERT триггере: Код: plsql 1. 2. SY. я б так не делал ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 18:06 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
SY Код: plsql 1. 2. SY. Без даты значение сиквенса бессмысленно, так что trunc(sysdate) как out нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 18:06 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Есть очень большое подозрение, что в электронной очереди номера должны выдаваться последовательно без пропусков, sequence не обеспечит непрерывность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 18:20 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorЕсть очень большое подозрение, что в электронной очереди номера должны выдаваться последовательно без пропусков, sequence не обеспечит непрерывность. В реальной очереди "талончики" сложнее ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 18:24 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
SkilledJuniorв электронной очереди номера должны выдаваться последовательно без пропусков Почему? Что плохого случится, если за 58-м номером из автомата вылезет 60-й? И чем это отличается от случая, когда человек нажал кнопку дважды и выбросил 59-й номер в мусорку? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 18:31 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Плохого ничего, просто вопрос почему так происходит будет следующим от Morra ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 18:37 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
Так как требуется согласованный конкурентный доступ, то и пользоваться нужно механизмами обеспечивающими такой доступ. Например, select ... for update. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 18:59 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
XMLerБез даты значение сиквенса бессмысленно, так что trunc(sysdate) как out нужен То что я прeдлoжил это номер талонa на cегодня. Естсeственно в таблице должно быть/есть поле с дaтой которое определяет это "cегодня". В соокупности они есть PK и говорят "у вас талон на XXX число и вы номер N" . SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 19:05 |
|
||
|
Уникальный номер в течении дня
|
|||
|---|---|---|---|
|
#18+
И кстати, если предусматривается предварительная запись, то job создает для последовательностей SEQ_YYYYMMDD на пeриод предварительной записи и выполняется скажем за месяц до истечения. А триггер: Код: plsql 1. 2. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2018, 19:18 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39697138&tid=1883494]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
174ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 448ms |

| 0 / 0 |
