главная/Разделитель (delimiter) в MySQL для чего он нужен
Разделитель в MySQL

Разделитель (delimiter) в MySQL для чего он нужен

В MySQL DELIMITER используется для изменения стандартного разделителя команд, который обычно является точкой с запятой ;.

Это особенно важно при написании хранимых процедур, функций, триггеров или пакетных запросов, где внутри тела этих блоков кода также используются точки с запятой для разделения отдельных SQL-команд.

Когда вы используете стандартный разделитель ; MySQL интерпретирует его как конец команды и пытается выполнить команду.

Это может вызвать проблемы в хранимых процедурах, поскольку они могут содержать несколько команд, разделённых точками с запятой.

Чтобы указать, что вся процедура или блок кода должны быть интерпретированы как одна команда, используется альтернативный разделитель.

Например, вы можете установить разделитель как //:

DELIMITER //

CREATE PROCEDURE MyProcedure()
BEGIN
    -- Тело процедуры
END //

DELIMITER ;

Здесь DELIMITER // устанавливает // в качестве временного разделителя.

После окончания определения процедуры DELIMITER ; возвращает разделитель обратно на стандартный ;, чтобы можно было продолжать использовать обычные SQL-команды.