Поиск по сайту:

Правильно используйте разделитель в хранимой процедуре MySQL, чтобы избежать ошибок операторов BEGIN/END.


Такие ошибки возникают, когда вы избегаете использования концепции DELIMITER. Давайте посмотрим пример и выполним запрос для хранимой процедуры:

mysql> DELIMITER //
mysql> CREATE PROCEDURE correct_procedure()
   BEGIN
   SELECT 'Hello MySQL !!!';
   END
//
Query OK, 0 rows affected (0.12 sec)
mysql> DELIMITER ;

Ниже приведен синтаксис для вызова хранимой процедуры:

call yourStoredProcedureName();

Вызовите хранимую процедуру с помощью команды CALL:

mysql> call correct_procedure();

Это даст следующий результат:

+-----------------+
| Hello MySQL !!! |
+-----------------+
| Hello MySQL !!! |
+-----------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)

Статьи по данной тематике: