SW/Database / / 2025. 2. 19. 11:26

ORA-20001: User-defined error message / 원인과 해결 방법

반응형

ORA-20001: User-defined error message / 원인과 해결 방법

ORA-20001 오류는 사용자가 정의한 예외 처리 중에 발생하는 오류입니다. 이 오류는 사용자 지정 오류 메시지를 출력하기 위해 RAISE_APPLICATION_ERROR를 사용한 경우에 발생할 수 있습니다.

 

 

ORA-20001: User-defined error message / 원인과 해결 방법

 

 

 

오류 원인

ORA-20001 오류는 다음과 같은 원인으로 인해 발생할 수 있습니다:

  1. 사용자 정의 예외 발생: - PL/SQL 블록에서 RAISE_APPLICATION_ERROR를 호출하여 오류를 발생시켰을 경우
  2. 비즈니스 로직에서 조건 위반: - 특정 조건을 충족하지 못하면 강제로 오류를 발생시키는 경우
  3. 트리거 또는 프로시저에서 오류 발생: - 데이터 삽입 또는 업데이트 시 트리거에서 RAISE_APPLICATION_ERROR를 호출

해결 방법

ORA-20001 오류를 해결하기 위해 다음 단계를 수행할 수 있습니다:

    1. 사용자 정의 오류 메시지 확인: - 예외 발생 코드에서 RAISE_APPLICATION_ERROR가 호출된 위치를 확인
DECLARE
  v_dept NUMBER := 50;
BEGIN
  IF v_dept NOT IN (10, 20, 30) THEN
    RAISE_APPLICATION_ERROR(-20001, '허용되지 않은 부서 번호입니다.');
  END IF;
END;
/
    1. 조건 검토 및 수정: - 특정 조건이 비즈니스 요구 사항에 적합한지 확인
    2. 예외 처리 추가: - EXCEPTION 블록을 사용하여 예외를 적절히 처리
BEGIN
  UPDATE employees SET salary = salary * 1.1 WHERE department_id = 50;
EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('오류 발생: ' || SQLERRM);
END;
/

간단 요약

  • ORA-20001 오류는 사용자가 PL/SQL에서 직접 정의한 오류입니다.
  • 해결 방법: - RAISE_APPLICATION_ERROR 호출을 확인 - 비즈니스 로직 검토 및 조건 수정 - 예외 처리 블록을 추가하여 오류를 적절히 처리
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유