Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 저장 프로시저를 종료하는 방법

MySQL에서 저장 프로시저(Stored Procedure)의 실행을 중간에 빠져나가려면 LEAVE 명령을 사용하면 됩니다. LEAVE 명령은 프로시저 내에서 정의한 라벨(label)을 지정하여 해당 지점부터 프로시저 실행을 즉시 종료하는 역할을 합니다.

LEAVE 명령 기본 문법

LEAVE yourLabelName;

여기서 라벨명은 BEGIN 블록 앞에 붙인 이름으로, LEAVE가 호출되면 해당 라벨로 표시된 블록 전체의 실행이 종료됩니다.

저장 프로시저 종료 예제

다음은 LEAVE 명령을 활용해 저장 프로시저를 생성하는 실제 예제입니다. 입력값이 NULL이면 프로시저를 즉시 종료하도록 작성했습니다.

mysql> delimiter //
mysql> CREATE PROCEDURE ExitQuitDemo2(IN Var1 VARCHAR(20))
-> proc_Exit:BEGIN
-> IF Var1 IS NULL THEN
-> LEAVE proc_Exit;
-> END IF;
-> END //
Query OK, 0 rows affected (0.16 sec)

코드 설명

위 예제에서 핵심 부분은 다음 코드입니다. 매개변수 Var1이 NULL이면 조건문이 참이 되어 LEAVE proc_Exit;가 실행되고, 이 시점에 프로시저의 나머지 로직을 건너뛰고 바로 종료됩니다.

LEAVE proc_Exit;

구분자(Delimiter) 원래대로 변경하기

프로시저 생성이 완료되면 구분자를 다시 세미콜론(;)으로 되돌려야 일반적인 SQL 문장을 정상적으로 실행할 수 있습니다.

mysql> delimiter ;
mysql>

저장 프로시저 호출하기

생성된 저장 프로시저를 실행하려면 CALL 명령 뒤에 프로시저 이름을 지정하여 호출합니다. 기본 문법은 다음과 같습니다.

CALL yourStoredProcedureName;

예를 들어 위에서 만든 프로시저를 NULL 값으로 호출하면 LEAVE 문이 실행되어 프로시저가 즉시 종료되고, 유효한 값을 전달하면 정상적으로 로직이 수행됩니다.