2.制御文の使用方法ストアドプロシージャについてストアドプロシージャとは、SQLによる一連の命令を処理の流れに沿ってまとめ、プログラムとして記述したものとなります。1.ストアドプロシージャとは何か?ストアドプロシージャとは、データベースに対する一連の処理をSQLで記述し、サーバーに格納しておくものです。サーバにストア(格納)しておくプロシージャ(一連の処理)という意味でストアドプロシージャと呼ばれます。ストアドプロシージャを記述する言語はSQLですが、SQL-92規格では、ストアドプロシージャの仕様を定義していません。主要なRDBMS毎に独自に定義しています。ServerではTransact-SQLという拡張SQLが実装されています。このように製品間で記述方法が異なる為ストアドプロシージャには製品間の互換性はありません。2.ストアドプロシージャの作成・実行・削除1.ストアドプロシージャの作成まず、ストアドプロシージャの作成時の構文を説明します。Serverもストアドプロシージャ名を指定し、続いて引数を定義します。引数は呼び出し元から渡されるデータを指し、ここで引数名とデータ型を指定します。Serverでは最初に’@’をつけます。PROCEDURE文をSQLとして実行することにより行います。Serverの無償版で試してみます。PROCEDURE文をSQLとして実行することで行います。実行すると以下のようにプログラミングの中のストアドプロシージャの中に登録されます。実行は、実行対象のストアドプロシージャを選択し右クリックから、ストアドプロシージャの実行を選択することで行います。実行が終わるとSQLクエリパネルに表示されます。今回登録したストアドプロシージャはSELECT文を2つ実行するSQLですので、その結果が2つ表示されます。3.ストアドプロシージャのプログラミングストアドプロシージャは、引数を使ったり、制御文を入れることでより複雑な処理を実行することができます。PROCEDURE文の直後に引数の定義を行います。例として以下のストアドプロシージャを実行してみます。引数として”@CODE”を定義します。2つ目のSELECT文のWHERE句の抽出条件で利用します。この引数の値は、このストアドプロシージャの実行時にユーザにより指定します。実行は前項の2.の2と同様です。ストアドプロシージャの実行を選択します。次に引数の指定画面が出現します。ここでは”3”を入力します。2つ目のSELECT文の結果は引数で指定された”3”がWHERE句の条件である支払コードと結びつき、結果として該当する1行が出力されます。次に制御文を使ったストアドプロシージャを見てみます。今回は例としてIF文を使ったストアドプロシージャを実行してみます。次のストアドプロシージャで解説します。このストアドプロシージャでは、引数の値によって実行するSQLが変わってきます。引数(@CODE)の値によって以下のSQLを実行します。10それでは実際に動かしてみた結果を見てみましょう。2一回目は、@CODEの値が”1”なので、全件抽出のSELECT文が実行されます。二度目は、@CODEの値が”2”なので、IDが10以上のレコードが抽出されるSELECT文が実行されます。コメントをキャンセルメールアドレスが公開されることはありません。*サイトブラック企業の見分け方!セキュリティについてRECOMMENDこちらの記事も人気です。