13.6.1 BEGIN ... END 复合语句
[begin_label:] BEGIN
[statement_list]
END [end_label]
开始...结束语法用于编写复合语句,这些语句可以出现在存储程序(存储过程和函数,触发器和事件)中。复合语句可以包含多个语句,并用BEGIN
和END
关键字括起来。 * 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。