Spec-Zone.ru › MySQL 9.2

15.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. Изменение разделителя конца оператора ; (например, на //) позволяет использовать ; в теле программы. Пример см. в разделе 27.1, «Определение хранимых программ».

Блок BEGIN ... END может быть помечен. См. раздел 15.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-8.4-en/begin-end.html

Spec-Zone.ru

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