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