Spec-Zone.ru › MariaDB

LEAVE

Синтаксис

LEAVE label

Это оператор используется для выхода из блока управления потоком, имеющего заданный метку. Метка должна находиться в той же программе, а не в вызывающей процедуре. LEAVE может использоваться внутри блоков BEGIN ... END или циклов (LOOP, REPEAT, WHILE). В хранимых процедурах, триггерах и событиях LEAVE может относиться к самому внешнему блоку BEGIN ... END; в этом случае программа завершит выполнение процедуры. В хранимых функциях вместо LEAVE можно использовать RETURN.

Обратите внимание, что LEAVE нельзя использовать для выхода из блока DECLARE HANDLER.

Если вы попытаетесь использовать LEAVE с несуществующей меткой или с блоком HANDLER, будет выведено следующее сообщение об ошибке:

ERROR 1308 (42000): LEAVE with no matching label: <label_name>

Следующий пример использует LEAVE для выхода из процедуры, если условие истинно:

CREATE PROCEDURE proc(IN p TINYINT)
CONTAINS SQL
`whole_proc`:
BEGIN
   SELECT 1;
   IF p < 1 THEN
      LEAVE `whole_proc`;
   END IF;
   SELECT 2;
END;

CALL proc(0);
+---+
| 1 |
+---+
| 1 |
+---+

См. также

  • ITERATE - Повторяет выполнение цикла
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проходит предварительную проверку MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/leave/

Spec-Zone.ru

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