ホームページ  >  記事  >  データベース  >  [MySql チュートリアル] ストアド プロシージャとその使用方法を簡単にガイドします。

[MySql チュートリアル] ストアド プロシージャとその使用方法を簡単にガイドします。

帅杰杰
帅杰杰オリジナル
2020-05-01 09:21:50190ブラウズ

ストアド プロシージャとは何ですか?

ストアド プロシージャは、複雑なプログラムをデータベースに保存し、外部プログラムから呼び出せるようにするデータベース オブジェクトです。

ストアド プロシージャは、特定の機能を実行するように設計された一連の SQL ステートメントであり、ユーザーはストアド プロシージャの名前を指定し、(必要に応じて) パラメータを指定することでそれを呼び出すことができます。

ストアド プロシージャの概念は非常にシンプルで、コードのカプセル化とデータベース SQL 言語レベルでの再利用です。

ストアド プロシージャの利点:

  • ストアド プロシージャは、複雑なビジネス ロジックをカプセル化して隠すことができます。

  • ストアド プロシージャは値を返したり、パラメータを受け取ったりすることができます。

  • ストアドプロシージャは、ビューテーブル、データテーブル、またはユーザー定義関数とは異なり、サブルーチンであるため、select命令を使用して実行できません。

  • ストアド プロシージャは、データの検証、ビジネス ロジックの適用などに使用できます。

ストアド プロシージャの欠点:

  • ストアド プロシージャは、サポートされているプログラミング言語が異なるため、特定のデータベースに合わせてカスタマイズされることがよくあります。他のメーカーのデータベース システムに切り替える場合は、元のストアド プロシージャを書き直す必要があります。

  • パフォーマンスのチューニングとストアド プロシージャの作成は、さまざまなデータベース システムによって制限されます。

ストアドプロシージャの作成と呼び出し

  • ストアドプロシージャは、特定の関数を完了するために使用される名前を持つコードの一部です。

  • ストアド プロシージャを作成し、データベースのデータ ディクショナリに保存します。

create procedure 存储过程名称(in|out|inout 参数名称 参数类型,……)
begin
过程体;
end

ストアドプロシージャを作成する

create procedure getStudentCount()
begin
select count(*) as num from student where classid=8;
end

ストアドプロシージャをクエリ、変更、削除する

1. クエリ

すべてのストアドプロシージャのステータスをクエリする

show procedure status;

対応するデータベースのすべてのストアドプロシージャのステータスを表示する

show procedure status where db="数据库名";

名前に Student が含まれるストアド プロシージャのステータスを表示します

show procedure status where name like "%Student%";

ストアド プロシージャの詳細なコードをクエリします

show create procedure 过程名;

2. 削除

alter procedure 过程名([过程参数[,…]])过程体;

注: 別のストアド プロシージャを削除することはできません。ストアド プロシージャ内で別のストアド プロシージャを呼び出します。

ストアド プロシージャを呼び出すには

mysql ストアド プロシージャは、呼び出し、プロセス名、および括弧内に、必要に応じてパラメータを追加します。パラメータには、呼び出す入力パラメータ、出力パラメータが含まれます。 。

りー

以上が[MySql チュートリアル] ストアド プロシージャとその使用方法を簡単にガイドします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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