BEGIN ... END Compound Statement Syntax
BEGIN ... END syntax is used for writing
compound statements, which can appear within stored routines and
triggers. A compound statement can contain multiple statements,
enclosed by the
statement_list represents a list of
one or more statements. Each statement within
statement_list must be terminated by
a semicolon (
;) statement delimiter. Note
statement_list is optional,
which means that the empty compound statement (
END) is legal.
Use of multiple statements requires that a client is able to
send statement strings containing the
statement delimiter. This is handled in the
mysql command-line client with the
delimiter command. Changing the
; end-of-statement delimiter (for example, to
; to be used in
a routine body. For an example, see
Section 19.2.1, “
CREATE PROCEDURE and
CREATE FUNCTION Syntax”.
A compound statement can be labeled.
end_label cannot be given unless
begin_label also is present. If both
are present, they must be the same.
[NOT] ATOMIC clause is not yet
supported. This means that no transactional savepoint is set at
the start of the instruction block and the
BEGIN clause used in this context has no
effect on the current transaction.