目次
この章では、あとから実行するためにサーバーに格納された SQL コードの点で定義されたデータベースオブジェクトである、ストアドプログラムとビューについて説明します。
ストアドプログラムには次のオブジェクトが含まれます。
ストアドルーチン、つまりストアドプロシージャーとストアドファンクション。ストアドプロシージャーは、
CALL
ステートメントを使用して呼び出されます。プロシージャーは、戻り値がありませんが、呼び出し元があとから検査できるようにそのパラメータを変更できます。また、クライアントプログラムに戻される結果セットも生成できます。ストアドファンクションは、組み込み関数と同様に使用されます。式で呼び出すと、式評価中に値を返します。トリガー。トリガーは、テーブルに関連付けられ、そのテーブルに対して挿入や更新などの特定のイベントが起きたときにアクティブ化される、名前付きのデータベースオブジェクトです。
イベント。イベントとは、スケジュールに従ってサーバーが実行するタスクです。
ビューは、参照されたときに結果セットを生成するストアドクエリーです。ビューは仮想テーブルとして機能します。
この章では、ストアドプログラムおよびビューを使用する方法について説明します。次のセクションで、これらのオブジェクトに関連したステートメントの SQL 構文に関する追加情報を示します。
オブジェクト型ごとに、どのオブジェクトが存在し、どのように定義されているかを制御する
CREATE
、ALTER
、およびDROP
ステートメントがあります。セクション13.1「データ定義ステートメント」を参照してください。CALL
ステートメントは、ストアドプロシージャーの呼び出しに使用されます。セクション13.2.1「CALL 構文」を参照してください。ストアドプログラム定義には、複合ステートメント、ループ、条件文、および宣言された変数を使用できる本体が含まれます。セクション13.6「MySQL 複合ステートメント構文」を参照してください。
MySQL 5.6.6 以降では、ストアドプログラムによって参照されるオブジェクトへのメタデータ変更が検出され、そのプログラムが次に実行されときに、影響を受けるステートメントの自動再解析が行われるようになります。詳細については、セクション8.9.4「プリペアドステートメントおよびストアドプログラムのキャッシュ」を参照してください。