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
ですか(スコープのせいかもしれません)。