MySQL의 LEAVE 문은 루프 내에서 사용되며, 현재 실행 중인 루프를 즉시 종료하는 역할을 합니다. 이는 프로그래밍 언어에서 흔히 사용하는 break 문과 비슷한 개념으로, 특정 조건을 만족했을 때 루프의 실행을 중단하고 루프 이후의 코드로 흐름을 넘기고 싶을 때 사용됩니다.
LEAVE 문은 MySQL의 구문 중 하나인 반복문(LOOP, WHILE, REPEAT) 내에서만 사용할 수 있으며, 단독으로 사용되면 오류가 발생합니다. LEAVE 문을 제대로 활용하기 위해선 루프에 고유한 레이블(label)을 지정해야 하며, 종료하고자 하는 루프를 정확히 명시해야 합니다.
문법
[레이블]: LOOP
-- 실행할 SQL 구문
IF 조건 THEN
LEAVE [레이블];
END IF;
END LOOP;
여기서 레이블은 루프의 이름으로, 이를 통해 해당 LEAVE 문이 종료할 목표 루프를 지정합니다.
예시
아래는 LEAVE 문을 사용한 간단한 예제를 보여드립니다. 이 예제에서는 변수 i가 5 이상이 되면 루프를 종료합니다.
DELIMITER //
BEGIN
DECLARE i INT DEFAULT 1; -- 변수 i를 초기화
simple_loop: LOOP
-- 변수 출력
SELECT CONCAT('Loop iteration: ', i) AS Message;
-- 조건을 만족하면 루프 종료
IF i >= 5 THEN
LEAVE simple_loop;
END IF;
-- 변수 증가
SET i = i + 1;
END LOOP simple_loop;
END; //
DELIMITER ;
설명
1. simple_loop라는 레이블이 루프에 부여되었습니다.
2. 루프가 실행되며, 변수 i의 값과 메시지를 출력합니다.
3. IF 조건이 i >= 5일 때 참으로 판별되면, LEAVE simple_loop;가 실행되어 루프가 즉시 종료됩니다.
4. 루프가 종료된 뒤, 흐름은 루프 이후의 코드로 이동합니다.
실행 결과
루프는 첫 번째 반복부터 시작해 i가 5에 도달하면 종료됩니다. 출력은 다음과 같습니다:
Loop iteration: 1
Loop iteration: 2
Loop iteration: 3
Loop iteration: 4
Loop iteration: 5
유용한 팁
- 명명된 레이블 사용: 루프의 이름(레이블)은 가독성을 높이고 복잡한 구문에서도 관리하기 쉽게 만들어 줍니다. 특히 여러 루프가 중첩된 경우, 어떤 루프를 종료할지 명확히 해야 하므로 레이블은 필수적입니다.
- 비교 로직 간소화: 루프 종료 조건 내 논리는 간단할수록 코드의 유지 보수성이 높아집니다.
LEAVE 문은 복잡한 루프를 보다 효율적으로 제어할 수 있도록 도와줍니다. 이를 활용하여 코드의 논리와 흐름을 더욱 깔끔하게 작성해 보세요!
'SQL > MYSQL' 카테고리의 다른 글
[MySQL] WHILE 문 사용 방법 및 예시 (1) | 2024.12.28 |
---|---|
[MySQL] RETURN 문 사용 방법 및 예시 (0) | 2024.12.27 |
[MySQL] REPEAT 문 사용 방법 및 예시 (0) | 2024.12.27 |
[MySQL] LOOP 문 사용 방법 및 예시 (0) | 2024.12.26 |
[MySQL] ITERATE 사용 방법 및 예시 (0) | 2024.12.24 |
[MySQL] IF 문 사용 방법 및 예시 (0) | 2024.12.23 |
[MySQL] CASE 문 사용 방법 및 예시 (1) | 2024.12.20 |
[MySQL] Local Variable 사용 방법 및 예시 (0) | 2024.12.19 |