이것은 모범 사례에 대한 질문입니다. 나는 아마도 예외 (NO_DATA_FOUND, DUP_VAL_ON_INDEX, ...)를 올릴 수있는 절차 P1과 P2에서이프로 시저에서 PL/SQL 예외 처리
DECLARE
--work variables
PROCEDURE p1(in_parameter1, out_parameter1, out_parameter2...) IS
BEGIN
--do stuff
--select (...) into (...) from t1 where (...)
END;
PROCEDURE p2(in_parameter1, out_parameter1, out_parameter2...) IS
BEGIN
--do stuff
--insert/update tables
--do more stuff
END;
BEGIN -- MAIN PROCESS STARTS HERE
open c1;
fetch c1 into c1RowData;
EXIT WHEN c1%NOTFOUND
--call procedure1
--do stuff
--call procedure2
--do stuff
--do stuff
--call procedure1
--call procedure2
END;
/
EXIT;
명령문과 같은 PL/SQL 블록을 가지고있다.
이 예외를 처리하는 가장 좋은 방법은 무엇이라고 생각하십니까? 절차 내에서 처리해야합니까, 아니면 TRY-CATCH 블록으로 본체의 모든 절차를 처리해야합니까?
감사합니다. 당신은 그것이 "구현 된 실제 기능에 달려 있다고 말한다.) "절차에서 예외를 처리하는 것이 가장 적합한 상황은 무엇입니까? – bruno