Мы получаем РТЫ 00001 (нарушенное ограничение на уникальность данных) в пакетном задании. Однако ошибка происходит, когда ФИКСАЦИЯ выпущена, не в то время, когда незаконная запись вставляется.
Вопросы:
Любая справка ценится!
Дополнительная информация / Вопрос:
"Незаконное" ограничение отмечено как НЕПОСРЕДСТВЕННОЕ и НЕДОПУСКАЮЩЕЕ ЗАДЕРЖКУ. Это может быть переопределено в транзакции?
Ограничения могут быть помечены/определены как отсроченные. В этом случае проверка ограничений может быть как "немедленной", так и "отложенной". При определении ограничения можно установить значение по умолчанию/инициальное, первоначально немедленное
или первоначально отложенное
. При установке значения отложенное
ограничение применяется только после фиксации транзакции.
Поведение ограничений с отсрочкой можно изменить, например, через
set constraints all immediate;
, см. также: http://www.oracle.com/technology/oramag/oracle/03-nov/o63asktom.html
Задержки могут быть определены как отложенные, т.е. они проверяются при фиксации, а не при изменении данных. См. следующие 2 ссылки:
http://www.oracle-base.com/articles/8i/ConstraintCheckingUpdates.php
http://www.oracle.com/technology/oramag/oracle/03-nov/o63asktom.html
надеемся, что это поможет
.