У меня есть 3 процедуры, которые вызываются внутри блока PLSQL. Процедура 1 имеет исключительную обработку внутри. Процедура 2 не имеет исключительной обработки внутри нее. Процедура 3 имеет исключительную обработку внутри нее.
Когда выполняется блок plsql. Целесообразно в proc 2, я сохранил ошибку как условие. Таким образом, процесс 1 успешно выполняется и обновляет таблицу. Proc 2 выдает ошибку Из-за ошибки в proc 2, proc 3 также не запускается
Поэтому я хочу обойти ошибку, например условие
1) Я пробовал обработку исключений в блоке plsql
2) Прагма автономный переход.
create or replace PROCEDURE PROC1 AS ----HAS EXCEPTIONAL HADLING
BEGIN
UPDATE EMP
SET ENAME='uMANG_17'
WHERE EMPNO=7369;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
-- Ignore all exceptions and return control to calling block
NULL;
END PROC1;
create or replace PROCEDURE PROC2 AS ----DOES NOT HAVE EXCEPTIONAL HADLING
BEGIN
UPDATE EMP
SET ENAME='ROHAN_02'
WHERE HIREDATE='7499';
COMMIT;
END PROC2;
create or replace PROCEDURE PROC3 AS ----HAS EXCEPTIONAL HADLING
BEGIN
UPDATE EMP
SET ENAME='JATIN_10'
WHERE EMPNO=7521;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
-- Ignore all exceptions and return control to calling block
NULL;
END PROC3;
BEGIN
PROC1;---has update statement
PROC2;--- has error like condition
PROC3;-- has update statement
END;
/
1) ВСЕ 3 процесса должны обновиться.
2) Приведенный выше код работает, ноон не обновляет PROC 3.
3) ВСЕ процесс должен запускаться в блоке plsql даже при ошибке, подобной contiobion.