MySQL トリガーの定義と使用法の詳細な説明
MySQL トリガーは、テーブル内で特定のイベントが発生したときに自動的に実行できる特別なストアド プロシージャです。トリガーを使用して、自動データ処理やデータの整合性維持などの機能を実装できます。この記事では、MySQL トリガーの定義と使用法を詳しく紹介し、具体的なコード例を示します。
CREATE TRIGGER トリガー名 挿入/更新/削除前/後 各行の ON table_name 始める --トリガーにより実行されるSQL文 END;
その中で、CREATE TRIGGER はトリガーの定義に使用され、trigger_name はトリガーの名前、BEFORE/AFTER はトリガーがイベントの前に実行されるか後に実行されるかを示し、INSERT/UPDATE/DELETE はトリガーを実行することを示します。トリガーが挿入、更新、または削除操作の場合、table_name はトリガーが属するテーブルの名前です。FOR EACH ROW は、トリガーがデータの行ごとに 1 回実行されることを意味します。BEGIN と END の間には SQL ステートメントがあります。具体的にはトリガーによって実行されます。
まず、student_level という名前のトリガーを作成します。コードは次のとおりです:
DELIMITER $$ トリガーを作成する Student_level_trigger 学生に挿入する前に 行ごとに 始める DECLARE レベル VARCHAR(10); IF NEW.score >= 90 THEN セットレベル = 'A'; ELSEIF NEW.スコア >= 80 THEN セットレベル = 'B'; ELSEIF NEW.score >= 70 THEN セットレベル = 'C'; それ以外 セットレベル = 'D'; 終了 IF; SET NEW.level = レベル; 終わり; $$ DELIMITER ;
上記のコードでは、BEFORE INSERT タイプのトリガー Student_level_trigger を作成しました。新しい生徒データが挿入されると、トリガーは生徒のパフォーマンスに基づいて生徒のレベルを自動的に設定し、レベル フィールドに更新します。 。
次に、トリガーが有効かどうかをテストするために学生データを挿入します。
INSERT INTO Student(name,得点) VALUES('Xiao Ming', 85);
上記を実行する ステートメントを挿入した後、student テーブルのデータをクエリすると、学生のレベルが計算され、level フィールドに入力されていることがわかります。
概要: この記事では、MySQL トリガーの定義と使用法を詳細に紹介し、具体的な例を通じてトリガーの実際の応用例を示します。トリガーはMySQLの非常に強力な機能であり、データ処理の自動化やデータの整合性の維持などを実現することができ、開発者は実際のニーズに応じてトリガーを柔軟に利用することで、データ処理の効率と精度を向上させることができます。
以上がMySQLトリガーの定義と使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。