Spec-Zone .ru
спецификации, руководства, описания, API

13.6.1. BEGIN ... ENDСинтаксис составного оператора

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

BEGIN ... END синтаксис используется для того, чтобы записать составные операторы, которые могут появиться в пределах сохраненных программ (хранимые процедуры и функции, триггеры, и события). Составной оператор может содержать многократные операторы, включенные BEGIN и END ключевые слова. statement_list представляет список одного или более операторов, каждый завершенный точкой с запятой (;) разделитель оператора. statement_list непосредственно является дополнительным, таким образом, пустой составной оператор (BEGIN END) является законным.

BEGIN ... END блоки могут быть вложены.

Использование многократных операторов требует, чтобы клиент был в состоянии к строкам оператора SEND, содержащим ; разделитель оператора. В mysql клиенте командной строки это обрабатывается с delimiter команда. Изменение ; разделитель конца оператора (например, к //) разрешение ; использоваться в теле программы. Для примера см. Раздел 19.1, "Определяя Сохраненные Программы".

A BEGIN ... END блок может быть маркирован. См. Раздел 13.6.2, "Синтаксис Метки Оператора".

Дополнительное [NOT] ATOMIC пункт не поддерживается. Это означает, что никакая транзакционная точка сохранения не устанавливается в начале блока инструкции и BEGIN пункт, используемый в этом контексте, не имеет никакого эффекта на текущую транзакцию.

Отметить

В пределах всех сохраненных программ, обработок синтаксического анализатора BEGIN [WORK] как начало a BEGIN ... END блок. Чтобы начать транзакцию в этом контексте, использовать START TRANSACTION вместо этого.