13.6.1 BEGIN ... END 复合语句

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

开始...结束语法用于编写复合语句,这些语句可以出现在存储程序(存储过程和函数,触发器和事件)中。复合语句可以包含多个语句,并用BEGINEND关键字括起来。 * statement_list *table 示一个或多个语句的列 table,每个语句以分号(;)语句定界符终止。 * statement_list *本身是可选的,因此空的复合语句(BEGIN END)是合法的。

开始...结束个块可以嵌套。

使用多个语句要求 Client 端能够发送包含;语句定界符的语句字符串。在mysql命令行 Client 端中,这是通过delimiter命令处理的。更改;语句结尾定界符(例如,更改为//)可以在程序主体中使用;。有关示例,请参见第 23.1 节“定义存储程序”

可以标记开始...结束块。参见第 13.6.2 节“声明标签”

不支持可选的[NOT] ATOMIC子句。这意味着未在指令块的开始处设置任何事务保存点,并且在此上下文中使用的BEGIN子句对当前事务没有影响。

Note

在所有存储的程序中,解析器将BEGIN [WORK]视为开始...结束块的开始。要在这种情况下开始事务,请改用START TRANSACTION

首页