HPL/SQL - SIGNAL 문
HPL/SQL - SIGNAL 문
SIGNAL 문은 사용자가 정의한 조건(예외)을 일부러 발생시킬 때 사용해요. 비즈니스 규칙에 맞지 않는 상황을 오류로 처리하고 싶을 때 유용해요.
출처: 문서
본문
SIGNAL 문은 사용자 정의 조건(예외)을 발생시킵니다.
구문:
SIGNAL condition_name;
예제:
행 개수가 지정된 숫자와 다르면 조건을 발생시키기:
DECLARE cnt INT DEFAULT 0;
DECLARE wrong_cnt_condition CONDITION;
DECLARE EXIT HANDLER FOR wrong_cnt_condition
PRINT 'Wrong number of rows';
SELECT COUNT(*) INTO cnt FROM TABLE (VALUES (1,2));
IF cnt <> 1 THEN
SIGNAL wrong_cnt_condition;
END IF;
호환성: IBM DB2, Teradata, MySQL
같이 보기:
더 알아보기 (Learn more)
SIGNAL로 예외를 던지면 이에 대응하는 DECLARE HANDLER가 실행돼요. 예외를 다시 발생시키고 싶을 때는 RESIGNAL을 쓰고, 예외 세부 내용을 가져오려면 GET DIAGNOSTICS를 활용해요.