powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / unique constraint
9 сообщений из 9, страница 1 из 1
unique constraint
    #39745542
elimpion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
insert into BRSContrKind2PrintForms (formcode, opercode, contractkind)
select max(formcode) + 1 as formcode, opercode, 17005000 from BRSContrKind2PrintForms 
where contractkind = 17005004
group by opercode, contractkind



временами возникает ошибка из-за max(formcode)
подскажите как можно переделать запрос, чтобы ошибка не возникала.
formcode должен браться максимальный + 1
а opercode должен браться из строки contractkind = 17005004
...
Рейтинг: 0 / 0
unique constraint
    #39745543
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM sequence
...
Рейтинг: 0 / 0
unique constraint
    #39745618
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elimpion,

сначала заблокировать строку с max(formcode), потом инсерт

зы
с помощью merge не уверен что получится

.....
stax
...
Рейтинг: 0 / 0
unique constraint
    #39745629
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxсначала заблокировать строку с max(formcode), потом инсерт , потом перехват dup_val_on_index и повтор операции.
...
Рейтинг: 0 / 0
unique constraint
    #39745632
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Staxсначала заблокировать строку с max(formcode), потом инсерт , потом перехват dup_val_on_index и повтор операции.
План пригоден при невысокой конкуренции.
...
Рейтинг: 0 / 0
unique constraint
    #39745649
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous-2-пропущено...
, потом перехват dup_val_on_index и повтор операции.
План пригоден при невысокой конкуренции.это про блокировку или про дуп_вал?
...
Рейтинг: 0 / 0
unique constraint
    #39746334
posix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
elimpion,
elimpionmax(formcode) + 1 as formcode

Elic уже посоветовал вам использовать встроенные последовательности-сиквенсы(через триггер или через IDENTITY, при создании таблицы), для автозаполнения колонки.
Все остальное, как думаю, велосипед.
Даже в самых крайних случаях(получения id до вставки данных), используют селект из сиквенса.
...
Рейтинг: 0 / 0
unique constraint
    #39746336
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elimpionподскажите как можно переделать запрос, чтобы ошибка не возникала.GUID юзайте.
...
Рейтинг: 0 / 0
unique constraint
    #39746452
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
posixelimpion,
elimpionmax(formcode) + 1 as formcode
Все остальное, как думаю, велосипед.


велосипед изобрели архитекторы, и с етим надо как-то работать

opercode не уникальный
при использовании последовательности придется перейти на сквозную номерацию для opercode

я б заблокировал строки, и для них увеличил formcode

зы
зациклить до исчезновения dup_val_on_index (я б так не делал)

.....
stax
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / unique constraint
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]