ホームページ >データベース >mysql チュートリアル >mysqlストアドプロシージャビュー

mysqlストアドプロシージャビュー

王林
王林オリジナル
2023-05-14 09:18:071225ブラウズ

MySQL ストアド プロシージャは、データベース サーバーに保存して実行できる事前定義されたプログラムです。 MySQL ストアド プロシージャは、ステートレス データベース操作を実行するために使用される、保存可能で再利用可能なプログラムです。 MySQL では、ストアド プロシージャは、パラメータを受け取り値を返す一連の SQL ステートメントで構成されます。

MySQL では、ストアド プロシージャはユーザー定義関数またはストアド プロシージャに分類できます。ユーザー定義関数は、1 つ以上のパラメーターを受け入れ、値を返すスタンドアロンの呼び出し可能なプログラムです。ストアド プロシージャは 1 つ以上の関連操作を実行でき、0 個以上のパラメーターを受け入れることができます。

MySQL ストアド プロシージャの構文は、プロシージャ宣言、変数割り当て、条件ステートメント、ループ ステートメント、例外処理など、他のプログラミング言語の構文と似ています。ストアド プロシージャは、出力パラメータ、カーソル、ネストされたプロシージャなどの高度な機能もサポートします。

次は、MySQL ストアド プロシージャの基本構文です:

DELIMITER //
CREATE PROCEDURE procedure_name(param1 datatype, param2 datatype, ..., paramN datatype)
BEGIN
    -- 这里是 SQL 语句
END //
DELIMITER ;

この例では、DELIMITER コマンドは、MySQL インタープリタの区切り文字を二重スラッシュ (//) に設定して、ストレージを許可します。プロシージャではセミコロンを使用します。 CREATE PROCEDURE コマンドは、ストアド プロシージャの名前とパラメータを宣言します。ストアド プロシージャの本体は、BEGIN と END の間の SQL ステートメントで構成されます。最後に、DELIMITER コマンドは区切り文字をセミコロンに返します。

ストアド プロシージャを実行するには、CALL コマンドを使用します。

CALL procedure_name(param1, param2, ..., paramN);

この例では、CALL コマンドはストアド プロシージャを実行し、パラメータをそれに渡します。ストアド プロシージャが結果セットまたは出力パラメータを返す場合、SELECT または SET コマンドを使用してそれらを取得できます。

この基本的な知識を念頭に置いて、MySQL ストアド プロシージャについて見ていきます。以下に、MySQL ストアド プロシージャに関連して一般的に使用されるコマンドをいくつか示します。

  1. SHOW CREATE PROCEDURE コマンド

SHOW CREATE PROCEDURE コマンドは、指定されたストアド プロシージャのソース コードを表示するために使用されます。たとえば、myproc という名前のストアド プロシージャのソース コードを表示したい場合は、次のコマンドを実行できます。

SHOW CREATE PROCEDURE myproc;

これにより、名前、パラメータ、本体を含むストアド プロシージャのソース コードが返されます。 、および区切り文字。ストアド プロシージャが特別なオプション (SQL SECURITY など) を使用している場合、それらも表示されます。

  1. SHOW PROCEDURE STATUS コマンド

SHOW PROCEDURE STATUS コマンドは、現在のデータベースに定義されているすべてのストアド プロシージャのステータスを表示するために使用されます。このコマンドは、各ストアド プロシージャの名前、作成時間、変更時間、実行時間などの情報を含む結果セットを返します。たとえば、現在のデータベース内のすべてのストアド プロシージャのステータスを表示するには、次のコマンドを実行できます。

SHOW PROCEDURE STATUS;
  1. DROP PROCEDURE コマンド

DROP PROCEDURE コマンドは次のとおりです。既存のストアド プロシージャを削除するために使用されます。ストアド プロシージャを確実に削除する場合は、次のコマンドを使用できます。

DROP PROCEDURE myproc;

これにより、myproc という名前のストアド プロシージャが削除されます。

  1. ALTER PROCEDURE コマンド

ALTER PROCEDURE コマンドは、既存のストアド プロシージャを変更するために使用されます。このコマンドの構文は CREATE PROCEDURE コマンドと非常に似ており、ストアド プロシージャ名の後に変更する部分を指定するだけで済みます。たとえば、myproc という名前のストアド プロシージャの主要部分を変更するには、次のコマンドを実行できます。

ALTER PROCEDURE myproc
BEGIN
    -- 修改后的 SQL 语句
END;
  1. USAGE コマンド

USAGE コマンドは、現在の MySQL サーバー上のストレージ情報 プロセスの使用状況。このコマンドは、名前、データ型、パラメーター モード、各ストアド プロシージャで NULL 値が許可されるかどうかなどの情報を含む結果セットを返します。たとえば、現在の MySQL サーバー上のすべてのストアド プロシージャの使用状況を表示するには、次のコマンドを実行できます。

SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE='PROCEDURE';

サマリー

MySQL ストアド プロシージャは、私たちに役立つ強力なデータベース プログラムです。データベースのパフォーマンスとセキュリティが向上します。複雑なトランザクションを実行する必要がある場合、または多数の SQL ステートメントを使用する必要がある場合は、ストアド プロシージャを使用してコードを簡素化し、データベースのスループットを向上させることができます。上記のコマンドは、初心者が MySQL ストアド プロシージャを学習する際に習得しなければならないコマンドであり、これらのコマンドを通じてストアド プロシージャをより適切に管理および使用できるようになります。

以上がmysqlストアドプロシージャビューの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。