Spec-Zone.ru › MySQL 5.7

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 могут быть вложенными.

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

Блок BEGIN ... END может быть помечен. См. раздел 13.6.2 «Метки инструкций».

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

Примечание

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

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/begin-end.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API