BEGIN ... END 문법은 복합 구문을 작성하는데 사용됩니다. 사용 방법은 다음과 같습니다.
   

[begin_label:] BEGIN
  [statement_list]
END [end_label]


BEGIN ... END 문법은 복합 구문을 작성하는데 사용됩니다. 이것은 stored 프로그램 내에 나타낼 수 있습니다.

복합 구문은 BEGIN 와 END 키워드로 둘러싸는 다중 구문을 포함할 수 있습니다.

statement_list는 하나 또는 그 이상의 구문 목록을 표현합니다. 각 구문은 세미콜론(;) 구문 구분자에 의해 종결됩니다.

statement_list는 선택사항입니다. 빈 복합 구문 (BEGIN END)는 합법적입니다.

다중 구문 사용은 클라이언트가 ; 구문 구분자를 포함하고 있는 구문 문자열을 전송할 수 있어야합니다. 이것은 구분자 명령어와 함께 mysql 커맨드라인 클라이언트에서 처리됩니다. 구문의 끝 구분자 ;을 변경하는 것(예, //로 변경)은 ;을 프로그램 본체에 사용할 수 있게 해줍니다.


# 예제
mysql> delimiter //

mysql> CREATE PROCEDURE dorepeat(p1 INT)
  -> BEGIN
  -> SET @x = 0;
  -> REPEAT SET @x = x + 1; UNTIL @x > p1 END REPEAT;
  -> END
  -> //

Query OK, O rows affected (0.00 sec)

mysql> delimiter ;

mysql> CALL dorepeat(1000);
Query OK, O rows affected (0.00 sec)

mysql> SELECT @x;
+------+
| @x   |
+------+
| 1001 |
+------+
1 row in set (0.00 sec)
ALTER SERVER s OPTIONS (USER 'sally');


복합 구문은 label를 붙일 수 있습니다. end_label은 begin_label이 존재하지 않으면 줄 수 없 습니다. 둘다 있으면 동일해야 합니다.


0 댓글