ストアド・プロシージャを使って最短経路問題を解く

昨日クリップした最短経路問題を解くサンプルらしきものを実際にやってみた。ストアド・プロシージャというのは名前を聞いたことしかなかったが、とりあえずコピペしたコードを phpMyAdmin から実行してみた。

が、1行目でいきなりシンタックス・エラー。

DROP PROCEDURE IF EXISTS makeNumSeq;



MySQLのメッセージ: ドキュメント
#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 'PROCEDURE IF EXISTS makeNumSeq' at line 1

こんなところでシンタックス・エラーとは、MySQL のバージョンが古いとだめなのかな?ちょっと調べてみたところ、なんのことはない、ストアド・プロシージャが使えるのは MySQL5 からだった。いま借りているレンタルサーバは MySQL4 しか使えない。困ったな・・。

とりあえず、この辺の記事(MySQL 5.0のストアドプロシージャをチェック)を読めばストアド・プロシージャがどういうものかはだいたいわかりそう。

MySQL5 が利用可能なレンタルサーバーというのは、ちょっと探した限りではここ(BLOCKGROUP)くらいかな。250円/月なので安いけど、cron、mod_rewrite などは使えない。.httpaccess は一応使えるようだけど、無料お試しができるのでまずいろいろ試してみてから判断するのがよさそう。あ、京都の会社だ。