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

鶴長 鎮一
MySQLユーザ会
2004/4/20

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

3/3

Index
エンタープライズ市場に向かうMySQL 5.0[後編]
 〜 MySQL 5.0のストアドプロシージャをチェック 〜
  Page 1
ストアドプロシージャを使ってみよう
 最も簡単な例
 戻り値を伴う例
  Page 2
ストアドプロシージャ/ファンクションの動作
 ストアドファンクションの作成
 作成したプロシージャ/ファンクションの確認と削除
  Page 3
MySQL 5.0使用上の注意

Linux Square全記事インデックス


 Linux Squareフォーラム データベース関連記事
連載:快速MySQLでデータベースアプリ!(全11回)
軽快な動作で知られるRDBMS、MySQLでDBアプリの構築を行う。MySQLのインストールに始まり、PerlやRubyなどのスクリプトでデータベースを操作する方法までを完全解説
連載:今から始める MySQL入門(連載中)
定番のLAMP(Linux+Apache+MySQL+PHP)構成でWebアプリケーション開発に挑戦! サンプルアプリの構築を進めながら、基礎知識や操作方法について詳しく解説する
連載:Oracleマイスター養成講座(全6回)
本連載では、Oracleの管理・チューニング方法を紹介していく。これからOracleを始める人、そしてOracleをより深く理解したい人のための、一歩踏み込んだ実用講座
連載:DB2マイスター養成講座(全7回)
本連載では、DB2 UDBの実践的な運用・管理方法を紹介していく。DB2を利用するうえで必要な知識を、実運用を前提にDB2のプロが解説
特集:エンタープライズ市場に向かうMySQL 5.0[前編]
MySQL 5.0の新機能をアルファ版でチェック
1月に公開された5.0アルファ版は大幅に拡張されており、エンタープライズ市場への進出を予感させる
特集:Linuxで動くリレーショナルデータベース・カタログ
データベースサーバのOSとしてLinuxを採用するケースが増えている。Linuxで動作する7つの主なリレーショナルデータベースを紹介する。製品導入の際の参考にしてほしい

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH