ストアドプロシージャはデータベース・エンジンを制御するためのプログラムですから、一般的なプログラミング言語と同じように関数を使ったり制御構造を記述したりできます。その構文規則は、Visual Basicでプロシージャを記述するより単純で簡単です。
このコラムをお読みのみなさんはプログラミング言語の基本をご存じだと思いますので、あまり初歩的な説明は省略し、SQL関数の利用とIf命令による条件判断・分岐について説明します。
サンプル・データベースとサンプル・アプリケーションの扱いについて
第9回以降、新しいサンプル・データベースを使っているのでご注意ください。新しいサンプル・データベースの登録方法については、第9回の記事から「新しいサンプルデータベースの準備」の項をお読みください。
なお、今回はテーブルの内容を書き換えるSQLを実行するため、テーブル「累積売上_fx」と同じ内容を持つ「累積売上_dmy」を使用します。現在のサンプルデータベースにこのテーブルが存在しない場合は、クエリマネージャで今回のサンプルに含まれているクエリファイル「累積売上_dmy新規作成.sql」を実行して作成してください。
既に「累積売上_dmy」が存在するものの、その内容が書き換えられていて「累積売上_fx」と同じでない場合は、同じく今回のサンプルに含まれているクエリファイル「累積売上_dmy削除・作成.sql」を実行してください。
また、本コラムで紹介しているストアドプロシージャを登録する際、Create Procedure命令を実行する前に、対象データベースに必ず“db1001ya”を選択しておいてください。ソースコード中のCreate Procedure命令の前に“Use db1001ya”の1行を挿入して、対象データベースを明示しても構いません。
|
|
- 目次 -
|
■ |
関数の利用 |
| ・ |
時間・期間の計算処理 |
| ・ |
現在の満年齢を求める |
| ・ |
Returnで関数の戻り値を返す |
| ・ |
ストアドプロシージャの実行 |
■ |
条件判断と分岐(1)~基本構造 |
| ・ |
結果によって戻り値を切り替える |
| ・ |
If~Elseによる条件判断と分岐 |
| ・ |
プロシージャの実行 |
| ・ |
If~Elseの基本書式 |
■ |
条件判断と分岐(2)~複数行の実行 |
| ・ |
年次処理を手直しする |
| ・ |
エラー時に処理を切り替える |
| ・ |
メッセージを表示させる |
| ・ |
Begin~Endによる処理ブロック |
| ・ |
Begin~Endの入れ子構造 |
| ・ |
実行前の準備 |
| ・ |
プロシージャの実行 |
|
・ |
If~Elseの入れ子構造 |
■ |
あとがき |
|