連載
» 2004年04月20日 00時00分 公開

MySQL 5.0のストアドプロシージャをチェックエンタープライズ市場に向かうMySQL 5.0(後編)(3/3 ページ)

[鶴長鎮一,MySQLユーザ会]
前のページへ 1|2|3       

MySQL 5.0使用上の注意

 いよいよエンタープライズシステムと肩を並べるまでに成長したMySQLですが、5.0を使用する際はいくつか注意が必要です。

 これまでに紹介したサンプルの変数名は大文字・小文字を区別して記述していますが、MySQLのデフォルトの設定では大文字・小文字を区別しません。

mysql> set @a='Hello MySQL5.0.0'
    -> //
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @a ←宣言どおり小文字
    -> //
+------------------+
| @a               |
+------------------+
| Hello MySQL5.0.0 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT @A ←大文字
    -> //
+------------------+
| @A               |
+------------------+
| Hello MySQL5.0.0 | ←同じ結果
+------------------+
1 row in set (0.00 sec)

 異なるバージョン間でレプリケーションを行う場合は、互換性に注意する必要があります。5.0がスレーブの場合はマスターを選びませんが、マスターが5.0の場合、使用可能なスレーブは5.0のみです。

   
マスター
  3.23.33以上 4.03以上/4.1 5.0.0
スレーブ 3.23.33以上 × ×
4.03以上/4.1 ×
5.0.0
表2 レプリケーション互換表
Replication Compatibility Between MySQL Versions
http://www.mysql.com/doc/en/Replication_Compatibility.html)より

 正常に機能しない構文もいくつかあります()。

注:筆者が確認した限りでは、looplabel:LOOP …… END LABEL looplabelのように、looplabelを用いたLOOPが機能しませんでした。

 ストアドプロシージャの記述についてはリファレンスなどのドキュメントを参考にしたいところですが、残念ながらまだ十分というにはほど遠い資料(http://www.mysql.com/doc/en/Stored_Procedures.html)が用意されているのみです。同じSQL:2003準拠のDB2の資料が参考になる場合もありますが、現状ではSQL:2003のドキュメントを簡単に入手できるというわけはありません。MySQL社にはその辺りの整備を期待したいところです。

 何にせよ、ストアドプロシージャをサポートしたRDBMSをこうして入手できることが、MySQLの将来に明るい兆しをもたらしています。今後トリガーが実装されれば、ストアドプロシージャの活用も多くなることでしょう。2004年はMySQL躍進の年となりそうです。

注:MySQL 5.0はまだ開発途中です。試用に関しては以下のバグレポートやリリース情報を参考にしましょう。

・MySQL Bugs(バグレポート情報)
http://bugs.mysql.com/
・Changes in release 5.0.1 (not released yet) (次期リリースの5.0.1情報)
http://dev.mysql.com/doc/mysql/en/News-5.0.1.html

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。