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

王林
リリース: 2023-05-08 21:08:06
オリジナル
4150 人が閲覧しました

MySQL は、大量のデータの処理に優れた、人気のあるオープン ソースのリレーショナル データベース管理システムです。ストアド プロシージャは、データ テーブルと対話し、クエリで呼び出すことができる再利用可能なコード ブロックです。

この記事では、ストアド プロシージャを作成する方法と、MySQL でストアド プロシージャを呼び出して使用する方法を紹介します。

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

MySQL では、通常、ストアド プロシージャを作成するには次の手順が必要です:

1. MySQL データベースに接続します。

2. CREATE PROCEDURE コマンドを実行してストアド プロシージャを定義します。

3. ストアド プロシージャでロジックを定義します。

以下はサンプル ストアド プロシージャです:

DELIMITER //
 
CREATE PROCEDURE getUsers()
BEGIN
    SELECT * FROM users;
END //
 
DELIMITER ;
ログイン後にコピー

上の例では、users テーブル内のすべてのレコードを返す getUsers という名前のストアド プロシージャを定義します。

ここでは、特別な DELIMITER コマンドを使用して、SQL クエリをストアド プロシージャから分離する方法を MySQL に指示します。

次に、CREATE PROCEDURE コマンドを使用してストアド プロシージャを定義します。ストアド プロシージャの名前、受信パラメータ、ロジック、および出力結果を指定します。

ストアド プロシージャで BEGIN および END コマンドを使用して、コード ブロックにロジックを配置していることに注意してください。

最後に、DELIMITER コマンドを使用して SQL クエリの新しい区切り文字を指定します。デフォルトではセミコロン (;) です。これは、ストアド プロシージャでセミコロンを使用することによって発生する構文エラーを回避するために行われます。

2. ストアド プロシージャを呼び出す

ストアド プロシージャを作成したら、関数を呼び出すのと同じようにクエリ内でそれを参照できます。例:

CALL getUsers();
ログイン後にコピー

ストアド プロシージャを呼び出した後、途中で定義されたロジックが実行され、結果が返されます。

3. パラメータの受け渡し

ストアド プロシージャは、受信パラメータを使用してさまざまなロジックを実行できます。例を次に示します。

DELIMITER //
 
CREATE PROCEDURE getUserById(IN id INT)
BEGIN
    SELECT * FROM users WHERE id = id;
END //
 
DELIMITER ;
ログイン後にコピー

上の例では、getUserById という名前のストアド プロシージャを作成し、入力パラメータ ID を定義しました。ストアド プロシージャでは、WHERE ステートメントを使用して ID を照合し、レコードを返します。

ストアド プロシージャを呼び出すときは、パラメータを渡す必要があります。例:

CALL getUserById(1);
ログイン後にコピー

これにより、ID 1 のユーザー レコードが返されます。

4. ストアド プロシージャを変更する

場合によっては、ストアド プロシージャの変更が必要になることがあります。これは簡単に達成できます。次のコマンドを使用して、既存のストアド プロシージャを変更できます。

ALTER PROCEDURE getUsers() 
BEGIN 
    SELECT * FROM users WHERE age > 18; 
END;
ログイン後にコピー

上の例では、18 歳より古いユーザー レコードのみを返すように getUsers ストアド プロシージャを変更しました。このようにして、さまざまなビジネス ニーズに合わせてストアド プロシージャを簡単に変更できます。

5. ストアド プロシージャを削除する

ストアド プロシージャが不要になった場合は、次のコマンドを使用して削除できます:

DROP PROCEDURE getUsers;
ログイン後にコピー

上記のコマンドは名前を削除します。 getUsers ストアド プロシージャ。ストアド プロシージャを削除すると、その定義と関連レコードが完全に削除されることに注意してください。

概要

ストアド プロシージャは、MySQL の重要な機能の 1 つです。ストアド プロシージャを作成すると、コードを効率的に整理して再利用し、複雑な操作を実行できるようになります。この記事を参照すれば、ストアド プロシージャを作成して呼び出す準備が整ったはずです。 MySQL の詳細については、公式ドキュメントを参照してください。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート