ストアド登録で少しハマった(ほんの少し)
こんにちは、いけしまです。ブログすっかりご無沙汰になってしまいおこられてしまいました。
これから少しがんばって何かあるたびに書いていきたいという抱負であります。
ではさっそく
今日はmysqlのストアドの登録で少しハマってしまったので備忘録的に書いておきます。
下記のような簡単なストアドを登録しようと思ったら
CREATE PROCEDURE test() BEGIN SELECT NOW(); END
こんなエラーが
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
ネットで「mysql CREATE PROCEDURE 1064」で検索したらたくさんでてきますね。
どうも「デリミタが誤ってる」らしい。基本的なことミスしてるみたいですね。も一度きちんとストアドについて調べてみました。
プロシージャにセミコロン入ってるのでそこで完了してしまうのですね。
ということで「DELIMITER」を使って「;」→「//」に変更してストアドを登録して最後に「;」に戻せばいいらしいです。
で下記に変更して登録
DELIMITER // CREATE PROCEDURE test() BEGIN SELECT NOW(); END // DELIMITER ;
ということでストアド登録できました。