Когда я делаю хранимую процедуру с помощью SQLYog, мне выдается следующий шаблон:
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `apachelogs`.`test`()
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
END$$
DELIMITER ;
Интересно, почему он изменяет разделитель перед созданием хранимой процедуры. И почему я все еще могу использовать ;
разделитель внутри оператора create
(думаю, это может быть из-за области видимости).