ホームページ >データベース >mysql チュートリアル >MySQL ストアド プロシージャ
MySQL ストアド プロシージャには特定のコード サンプルが必要です
MySQL では、ストアド プロシージャは、データベース サーバー コード上で定義、保存、実行されるプリコンパイル済みプロシージャです。ストアド プロシージャはパラメータを受け入れて結果を返すことができるため、複雑なデータベース操作やビジネス ロジックを処理するのに最適です。
以下では、具体的なコード例を通じて MySQL ストアド プロシージャの使用方法を紹介します。
「employees」という名前の従業員情報テーブルがあり、従業員番号、名前、年齢、部門などのフィールドが含まれているとします。指定した年齢範囲内の従業員情報をクエリするストアド プロシージャを作成する必要があります。
まず、「従業員」テーブルを作成し、サンプル データを挿入する必要があります:
CREATE TABLE employees ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT NOT NULL, department VARCHAR(50) NOT NULL ); INSERT INTO employees (name, age, department) VALUES ('张三', 25, '销售部'), ('李四', 30, '人力资源部'), ('王五', 35, '技术部'), ('赵六', 40, '财务部');
次に、年齢範囲に基づいて従業員情報をクエリするストアド プロシージャを作成できます:
DELIMITER // CREATE PROCEDURE GetEmployeesByAgeRange(IN minAge INT, IN maxAge INT) BEGIN SELECT * FROM employees WHERE age >= minAge AND age <= maxAge; END // DELIMITER ;
上記のコードでは、DELIMITER
キーワードを使用して、ストアド プロシージャ定義を終了する区切り文字を指定します。次に、CREATE PROCEDURE
ステートメントを使用して、GetEmployeesByAgeRange
という名前のストアド プロシージャを作成しました。このストアド プロシージャは、年齢範囲を指定する 2 つの入力パラメータ minAge
と maxAge
を受け入れます。ストアド プロシージャ本体では、SELECT
ステートメントを使用して、条件を満たす従業員情報をクエリします。
最後に、DELIMITER
キーワードを使用して、元のステートメント区切り文字を復元します。
これで、ストアド プロシージャを呼び出して従業員情報をクエリできるようになります。 30 歳から 35 歳までの従業員情報をクエリする必要があると仮定すると、次のコードを実行できます:
CALL GetEmployeesByAgeRange(30, 35);
上記のコードを実行すると、次の結果が得られます:
+----+------+-----+-----------------+ | id | name | age | department | +----+------+-----+-----------------+ | 2 | 李四 | 30 | 人力资源部 | | 3 | 王五 | 35 | 技术部 | +----+------+-----+-----------------+
Through上記のコード例では、MySQL ストアド プロシージャの使用方法を確認できます。ストアド プロシージャは、必要に応じて複数回呼び出すことができる事前定義されたコード ブロックを作成することで、複雑なデータベース操作を実装できます。
要約すると、MySQL のストアド プロシージャは、開発者の作業効率を大幅に向上させ、重複コードを削減できる強力なデータベース機能です。ストアド プロシージャの使用に習熟すると、さまざまなデータベース操作やビジネス ロジックをより効率的かつ柔軟に処理できるようになります。
以上がMySQL ストアド プロシージャの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。