Loading...
MySQL 9.5 Reference Manual 9.5의 15.6.1 BEGIN ... END Compound Statement의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
1[begin_label:] BEGIN 2 [statement_list] 3END [end_label]
BEGIN ... END
구문은 저장 프로그램(저장 프로시저와 함수, 트리거, 이벤트) 내에서 나타날 수 있는 복합문을 작성하는 데 사용됩니다.
복합문은 BEGIN과 END 키워드로 둘러싸인 여러 문을 포함할 수 있습니다.
_statement_list_는 하나 이상의 문 목록을 나타내며, 각 문은 세미콜론(;) 문 구분 기호로 끝납니다.
statement_list 자체는 선택 사항이므로, 비어 있는 복합문(BEGIN END)도 허용됩니다.
BEGIN ... END
블록은 중첩될 수 있습니다.
여러 문을 사용하려면 클라이언트가 ; 문 구분 기호를 포함하는 문 문자열을 보낼 수 있어야 합니다.
mysql 명령줄 클라이언트에서는 delimiter 명령으로 이를 처리합니다.
예를 들어 문 끝 구분 기호 ;를 //로 변경하면, 프로그램 본문 안에서 ;를 사용할 수 있습니다.
예시는
Section 27.1, “Defining Stored Programs”을 참조하십시오.
BEGIN ... END
블록에는 레이블을 지정할 수 있습니다.
Section 15.6.2, “Statement Labels”을 참조하십시오.
선택적인 [NOT] ATOMIC 절은 지원되지 않습니다.
이는 명령 블록의 시작 시 트랜잭션 세이브포인트가 설정되지 않으며,
이 컨텍스트에서 사용되는 BEGIN 절이 현재 트랜잭션에 아무런 영향을 미치지 않음을 의미합니다.
참고
모든 저장 프로그램 내에서 파서는
BEGIN [WORK]
를
BEGIN ... END
블록의 시작으로 처리합니다.
이 컨텍스트에서 트랜잭션을 시작하려면,
대신 START TRANSACTION을 사용하십시오.
15.6 Compound Statement Syntax
15.6.2 Statement Labels