Loading...
MySQL 9.5 Reference Manual 9.5의 15.6.2 Statement Labels의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
1[begin_label:] BEGIN 2 [statement_list] 3END [end_label] 4 5[begin_label:] LOOP 6 statement_list 7END LOOP [end_label] 8 9[begin_label:] REPEAT 10 statement_list 11UNTIL search_condition 12END REPEAT [end_label] 13 14[begin_label:] WHILE search_condition DO 15 statement_list 16END WHILE [end_label]
Label은
BEGIN ... END
block과 LOOP,
REPEAT, 그리고
WHILE statement에 허용됩니다. 이러한
statement에 대한 label 사용은 다음 규칙을 따릅니다:
begin_label 뒤에는 콜론이 와야 합니다.
_begin_label_은
end_label 없이도 줄 수 있습니다.
_end_label_이 존재한다면,
_begin_label_과 동일해야 합니다.
_end_label_은
begin_label 없이 줄 수 없습니다.
동일한 중첩 수준의 label은 서로 달라야 합니다.
label은 최대 16자까지 사용할 수 있습니다.
Label이 지정된 구조 내에서 label을 참조하려면
ITERATE 또는
LEAVE statement를 사용합니다. 다음
예제는 이러한 statement를 사용하여 반복을 계속하거나
loop를 종료합니다:
1CREATE PROCEDURE doiterate(p1 INT) 2BEGIN 3 label1: LOOP 4 SET p1 = p1 + 1; 5 IF p1 < 10 THEN ITERATE label1; END IF; 6 LEAVE label1; 7 END LOOP label1; 8END;
Block label의 scope에는 block 내에서 선언된 handler의 코드는 포함되지 않습니다. 자세한 내용은 Section 15.6.7.2, “DECLARE ... HANDLER Statement”를 참조하십시오.
15.6.1 BEGIN ... END Compound Statement
15.6.3 DECLARE Statement