powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
17 сообщений из 17, страница 1 из 1
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38836860
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу строки в коллекцию апекс, он деманд процесс вызываю через GetAsync, самом процессе использую apex_collection.add_member для вставки строки в коллекцию.
В результате на части строк отгребаю ошибку "ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated" я так понял валится на попытке выдать одинаковый seq_id

Очень не хотелось бы переделывать код на синхронный.
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38836912
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufiвалится на попытке выдать одинаковый seq_id
код нужен.
Сам сиквенс защищён от потоков и не может выдавать одинаковые номера.
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38836999
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я расстрою Вас, seq_id получают не из последовательности.
Ниже функция получения seq_id
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
 2722 FUNCTION COLLECTION_MAX_SEQ(
 2723     P_COLLECTION_NAME IN VARCHAR2 )
 2724     RETURN NUMBER
 2725 IS
 2726     L_MAX NUMBER := 0;
 2727     L_SESSION_ID NUMBER;
 2728 BEGIN
 2729     L_SESSION_ID := NV('SESSION');
 2730     
 2731     
 2732     
 2733     CHECK_COLLECTION_NAME( P_COLLECTION_NAME => P_COLLECTION_NAME );
 2734 
 2735     FOR C1 IN (SELECT   NVL(MAX(SEQ_ID),0) MAXSEQ
 2736                  FROM WWV_FLOW_COLLECTIONS$ C,
 2737                       WWV_FLOW_COLLECTION_MEMBERS$ M
 2738                 WHERE C.SESSION_ID = L_SESSION_ID
 2739                   AND C.SECURITY_GROUP_ID = WWV_FLOW_SECURITY.G_SECURITY_GROUP_ID
 2740                   AND C.FLOW_ID = WWV_FLOW.G_FLOW_ID
 2741                   AND C.ID = M.COLLECTION_ID
 2742                   AND C.COLLECTION_NAME = UPPER(P_COLLECTION_NAME)) LOOP
 2743         L_MAX := C1.MAXSEQ;
 2744     END LOOP;
 2745 
 2746     RETURN L_MAX;
 2747 END;
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837020
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Casufi,
Видимо у тебя супер быстрая машина и отличная связь с сервером. У меня был точно такой же вариант добавления. Но проблем не возникало.
Но я все равно подумал что циклический вызов аякс запросов это не гуд. И переделал все на один запрос, просто информация в массиве передаю на сервер.
Я использую это для запоминания отчекнутых чекбоксов в репорте.
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837051
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel. И переделал все на один запрос, просто информация в массиве передаю на сервер.
Я тоже думал в этом направлении.
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837059
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelЯ расстрою Вас, seq_id получают не из последовательности.
ОфтопЯ теперь понимаю почему у АПЕКС закрыты исходники, банально стыдно открыть. Это далеко не первый пример индусского кода в Апекс, взять хотя бы ошибку превышения количества регионов или итемов на странице.
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837062
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОфтопЯ теперь понимаю почему у АПЕКС закрыты исходники, банально стыдно открыть. Это далеко не первый пример индусского кода в Апекс, взять хотя бы ошибку превышения количества регионов или итемов на странице.[/quot]
Я каждый раз когда туда заглядываю, аж плакать хочется....
Я очень надеюсь что в пятом все перепишут...
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837084
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufi,
коллекции задумали для сохранения состояния между страницами (в сессии).
Некий аналог корзины покупок в REST-веб приложениях.
Поэтому, imho, проверьте, почему вы не сохраняете в БД всё сразу.
Тем более, что она так близко)). Ближе чем в 3-х звенке)
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837124
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CasufiПишу строки в коллекцию апекс, он деманд процесс вызываю через GetAsync, самом процессе использую apex_collection.add_member для вставки строки в коллекцию.
В результате на части строк отгребаю ошибку "ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated" я так понял валится на попытке выдать одинаковый seq_id

Очень не хотелось бы переделывать код на синхронный.

Вызовов типа create_collection в вашем коде нет ?
Если есть, можете опубликовать кусок ?

Код выполняется на этапе отрисовки или на этапе обработки ?
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837151
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDevКод выполняется на этапе отрисовки или на этапе обработки ?
собственно недочитал, этот вопрос отпадает.

С такой ситуацией в коллекциях не сталкивался, но сталкивался с похожими ошибками в других местах.

Проблема в том, что apex делает блокировки на этапе page processing
(решая таким образам некоторые проблемы duplicate page submission), но обычно не делает их при отрисовке
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837228
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Поэтому, imho, проверьте, почему вы не сохраняете в БД всё сразу.
Сразу это как ?
Допустим щелкнул я по чек боксу в одной строке , его "сразу" с чем сохранить ?
Каюсь, мне было лениво писать два раза код отправки чекбокса на сервер в яваскрипте, поэтому для галки "отметить все" я просто вызвал отметку всех чекбоксов и инициировал change() для каждого из них, по хорошему "отметить все" нужно обрабатываьт отдельно и передавать на сервер пачкой, а а клик на отдельной галке оставить "как есть" , так и буду делать.
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837304
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufi,
море вариантов:
ВИ1 (вариант использования): чекнутый список в report
= прошли циклом в JS, взяли ID
list.push(ID)
Items = 1,25,66
Передали список ID в ХП\AD
Всё
...
Я не понял, какой у вас ВИ и где чекбоксы?
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837312
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufi,
коллекция _для одной страницы_ уже есть, это DOM дерево и структуры APEX.
Если городить из коллекции сложные структуры, то это параллельная БД рядом с основной.
И коллизии с констрейнтами.
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837342
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123коллекция _для одной страницы_ уже есть, это DOM дерево и структуры APEX.
Это обсуждение нужно выносить в отдельную тему "Кейсы использования коллекций апекс" иначе за флеймом потеряется основной вопрос. Поэтому я просто прекращу эту дисскусию в этой ветке.
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837351
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufi,
с чего взял, что мне это интересно? Ты спросил, я ответил.
Удачи!
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837508
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufi,

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

Например, в результате ошибки. былоф такое, что в одном браузере выполнялся одновременно href и onclick с редиректом.

Если ошибка не в pl/sql и не в яваскрипте,соответственно решение - Перенести код в page processing (если задача позволяет), либо самому установить блокировку.
...
Рейтинг: 0 / 0
ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
    #38837602
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CasufiPetro123Поэтому, imho, проверьте, почему вы не сохраняете в БД всё сразу.
Сразу это как ?
Допустим щелкнул я по чек боксу в одной строке , его "сразу" с чем сохранить ?
Каюсь, мне было лениво писать два раза код отправки чекбокса на сервер в яваскрипте, поэтому для галки "отметить все" я просто вызвал отметку всех чекбоксов и инициировал change() для каждого из них, по хорошему "отметить все" нужно обрабатываьт отдельно и передавать на сервер пачкой, а а клик на отдельной галке оставить "как есть" , так и буду делать.
Один в один ситуация с моей, я итоге переделал, при использовании jquery код получился совсем не громоздкий (3-4 строчки), эффективность в разы...
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / ORA-00001: unique constraint (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK) violated
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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