コース: プログラミングの基礎:データベース

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

ストアドプロシージャとは

ストアドプロシージャとは

このレッスンでは 複雑なSQLクエリを保存して再利用できる ストアドプロシージャについて説明します。 SQLのクエリは GUIのツールやコマンドラインで 直接入力して実行させることができます。 けれども複雑なクエリを実行する場合には それらを保存して再利用したいですね。 そのためには ストアドプロシージャを作成します。 ストアドプロシージャは プログラミング言語の関数のようなもので 呼び出せば何度でも 実行させることができます。 ここにSQLのクエリがあります。 これを再利用するために ストアドプロシージャを作成します。 まず「CREATE PROCEDURE」と記述します。 その後ろにプロシージャ名を書きます。 ここでは「HighlyPaid()」という名前です。 名前の後ろの丸括弧については あとで説明します。 そして最後に「END;」をつけて クエリを囲みます。 これでストアドプロシージャが 作成されました。 このままではただのクエリの塊ですが、 これを呼び出すことで 実行することができます。 それには「CALL HighlyPaid();」のように キーワード「CALL」と ストアドプロシージャの名前を使って 呼び出します。 このストアドプロシージャは DBMSから直接呼び出すことができますし、 また他のプログラミング言語で書かれた アプリケーションからも呼び出すことが できます。 なおストアドプロシージャの記述方法は DBMS間で異なりますので 正確な書き方はお使いのDBMSのマニュアルで 確認する必要があります。 プログラミング言語の関数と同様に ストアドプロシージャも パラメータを使うことができます。 このクエリはWHERE句で 特定の部署の従業員を選び、 姓と名前で並び替えるものです。 ここでは「営業」という部署の従業員を 指定しています。 けれども営業に限らず 他の部署の従業員の情報も 取得できるようにすると便利ですね。 そのような場合には ストアドプロシージャに パラメータを記述し、 部署名を指定できるようにします。 このストアドプロシージャは プロシージャ名の後ろに パラメータが定義されています。 キーワード「IN」を使用して これがストアドプロシージャに渡される パラメータであることを示します。 パラメータ名は「dept」、…

目次