データベース千夜一夜第30回

ストアドプロシージャ(4)~繰り返し処理 長谷川裕行
有限会社 手國堂

制御構造には、前回紹介したIf~Elseによる条件判断・分岐の他に、繰り返し処理(反復)があります。繰り返し処理は、条件判断・分岐ほど頻繁に使われるものではありませんが、うまく使うといろいろと役に立つ処理が作れます。

繰り返し処理の基本事項を紹介しておきましょう。


サンプル・データベースとサンプル・アプリケーションの扱いについて
第9回以降、新しいサンプル・データベースを使っているのでご注意ください。新しいサンプル・データベースの登録方法については、第9回の記事から「新しいサンプルデータベースの準備」の項をお読みください。

なお、今回はテーブルの内容を書き換えるSQLを実行するため、テーブル「商品_mr」と同じ内容を持つ「商品_dmy」を使用します。現在のサンプルデータベースにこのテーブルが存在しない場合は、クエリマネージャで今回のサンプルに含まれているクエリファイル「商品_dmy新規作成.sql」を実行して作成してください。

既に「商品_dmy」が存在するものの、その内容が書き換えられていて「商品_mr」と同じでない場合は、同じく今回のサンプルに含まれているクエリファイル「商品_dmy削除・作成.sql」を実行してください。

また、本コラムで紹介しているストアドプロシージャを登録する際、Create Procedure命令を実行する前に、対象データベースに必ず“db1001ya”を選択しておいてください。ソースコード中のCreate Procedure命令の前に“Use db1001ya”の1行を挿入して、対象データベースを明示しても構いません。



- 目次 -
処理構造を整理する
出口が多いと読みにくい
制御構造は見通しやすく
出口を1つにまとめる
コメント記号
繰り返し処理(1)~Whileの基本機能
条件が「真」の間繰り返す
単価を段階的に割り引く
SELECT文を条件にする
更新処理を繰り返す
プロシージャの実行
繰り返し処理(2)~脱出と継続
BreakとContinue
繰り返しの中で条件判断を行う
プロシージャの実行
あとがき
長谷川 裕行 (はせがわ ひろゆき)
有限会社 手國堂 代表取締役  http://www.hirop.com/

大阪芸術大学 写真学科講師。フリーライター。日経ソフトウェアなどに連載。
『ソフトウェアの20世紀』、『独習SQL』など著書多数。

Copyright © MESCIUS inc. All rights reserved.