Разделитель (delimiter) в MySQL для чего он нужен
В MySQL DELIMITER используется для изменения стандартного разделителя команд, который обычно является точкой с запятой ;.
Это особенно важно при написании хранимых процедур, функций, триггеров или пакетных запросов, где внутри тела этих блоков кода также используются точки с запятой для разделения отдельных SQL-команд.
Когда вы используете стандартный разделитель ; MySQL интерпретирует его как конец команды и пытается выполнить команду.
Это может вызвать проблемы в хранимых процедурах, поскольку они могут содержать несколько команд, разделённых точками с запятой.
Чтобы указать, что вся процедура или блок кода должны быть интерпретированы как одна команда, используется альтернативный разделитель.
Например, вы можете установить разделитель как //:
DELIMITER //
CREATE PROCEDURE MyProcedure()
BEGIN
-- Тело процедуры
END //
DELIMITER ;
Здесь DELIMITER // устанавливает // в качестве временного разделителя.
После окончания определения процедуры DELIMITER ; возвращает разделитель обратно на стандартный ;, чтобы можно было продолжать использовать обычные SQL-команды.