Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обработка исключений Oracle в Oracle Forms
|
|||
|---|---|---|---|
|
#18+
Господа, помогите, пожалуйста, советом. Есть таблица TABLE, у нее есть уникальный ключ по двум полям: AB_ID, SUBJ_ID. В форме есть блок, ассоциированный с этой таблицей, в блоке -- текстовые поля AB_ID, SUBJ_ID, ассоциированные с одноименными колонками в таблице и кнопка "Сохранить". При нажатии кнопки "Сохранить" выполняется команда Commit_form. Естественно, при попытке дважды вставить одну и ту же запись Forms пишет что-то вроде :FRM-40508 - unable to insert record, а, просмотрев причину ошибки, мы видим:ORA-00001: unique constraint violated. Желательно, чтобы при нажатии кнопки "Сохранить" производилась проверка , не нарушается ли уникальность записей. Вопрос: как это сделать? Обработка исключения dup_val_on_index ничего не дает. Заранее благодарна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 15:16 |
|
||
|
Обработка исключений Oracle в Oracle Forms
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 15:55 |
|
||
|
Обработка исключений Oracle в Oracle Forms
|
|||
|---|---|---|---|
|
#18+
Ninon Желательно, чтобы при нажатии кнопки "Сохранить" производилась проверка , не нарушается ли уникальность записей. Ну проверили и что дальше? Тот же самый FRM-40508 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 16:14 |
|
||
|
Обработка исключений Oracle в Oracle Forms
|
|||
|---|---|---|---|
|
#18+
Собственно проверка уникальности и так происходит, иначе сообщение об ошибке не возникало. Уточни, пзл., что тебе не нравиться в стандарной процедуре? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 16:17 |
|
||
|
Обработка исключений Oracle в Oracle Forms
|
|||
|---|---|---|---|
|
#18+
Можете перехватить сообщение и заменить на свое (почитайте help на предмет On-Error Trigger). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 17:13 |
|
||
|
Обработка исключений Oracle в Oracle Forms
|
|||
|---|---|---|---|
|
#18+
OraDenМожете перехватить сообщение и заменить на свое (почитайте help на предмет On-Error Trigger). Спасибо. Именно так я и сделаю. Просто я думала, что возможно каким-нибудь образом перехватить именно исключение оракла (ora-00001)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 17:23 |
|
||
|
Обработка исключений Oracle в Oracle Forms
|
|||
|---|---|---|---|
|
#18+
Ninon OraDenМожете перехватить сообщение и заменить на свое (почитайте help на предмет On-Error Trigger). Спасибо. Именно так я и сделаю. Просто я думала, что возможно каким-нибудь образом перехватить именно исключение оракла (ora-00001)... Можно написать свой триггер ON-INSERT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 17:33 |
|
||
|
Обработка исключений Oracle в Oracle Forms
|
|||
|---|---|---|---|
|
#18+
Кроме как в on-error перехватить ORA-00001 при коммите формы врятли получится, если блок не построен на транзакционных триггерах или процедурах. Пользуйтесь хелпом, в формсах он вполне полноценный. DBMS_ERROR_CODE examples: Код: plaintext 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. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 17:40 |
|
||
|
|

start [/forum/topic.php?fid=51&msg=34584498&tid=1879268]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 386ms |

| 0 / 0 |
