mysqlでDECLAREが使えない


以下のsqlだとsyntax errorになっていまいます。どう修正すればよいでしょうか？

[code]

    CREATE PROCEDURE sample()                                                                                                    
    
    BEGIN                                                                                                    
        DECLARE counter INT DEFAULT 2;
    END;
    
[/code]




mysql コマンドは `;` をクエリの区切りと認識し、そこまでの文字列をサーバーに送信してしまいます。

まず delimiter でクエリの区切り文字を別の文字に変更してから CREATE PROCEDURE を行えばよいと思います。

[code]

    mysql> delimiter //
    mysql> CREATE PROCEDURE sample()
        -> BEGIN
        ->     DECLARE counter INT DEFAULT 2;
        -> END
        -> //
    mysql> delimiter ;
    
[/code]

マニュアルにも記述があります。  
<https://dev.mysql.com/doc/refman/5.6/ja/create-procedure.html>




mysql コマンドは `;` をクエリの区切りと認識し、そこまでの文字列をサーバーに送信してしまいます。

まず delimiter でクエリの区切り文字を別の文字に変更してから CREATE PROCEDURE を行えばよいと思います。

[code]

    mysql> delimiter //
    mysql> CREATE PROCEDURE sample()
        -> BEGIN
        ->     DECLARE counter INT DEFAULT 2;
        -> END
        -> //
    mysql> delimiter ;
    
[/code]

マニュアルにも記述があります。  
<https://dev.mysql.com/doc/refman/5.6/ja/create-procedure.html>

