SQL トリガーの使用法と構文

小老鼠
リリース: 2024-04-13 14:57:16
オリジナル
1071 人が閲覧しました

トリガーは、特定のイベント (挿入、更新、削除) が発生したときに自動的に実行されるデータベース コードです。トリガーの構文には、トリガー名、テーブル名、トリガー時間 (BEFORE/AFTER)、およびイベント タイプ (INSERT/UPDATE/DELETE) が含まれます。トリガーの種類には BEFORE および AFTER が含まれ、イベントの種類には INSERT、UPDATE、および DELETE が含まれます。トリガーは、データ整合性の検証、監査ログ、自動化されたタスク、ビジネス ロジックに使用できます。たとえば、データの一貫性を確保するために、新しい行が挿入されたときに挿入時間を記録するトリガーを作成できます。

SQL トリガーの使用法と構文

#SQL トリガーの使用法と構文

トリガーとは何ですか? #トリガーは、データベース内で特定のイベントが発生したときに自動的に実行をトリガーするデータベース内のコードです。これらは、データ変更時にカスタム アクションを実行するために使用されます。

#トリガーの構文

SQL でのトリガーの構文は次のとおりです:

<code>CREATE TRIGGER trigger_name
ON table_name
FOR INSERT | UPDATE | DELETE
AS
BEGIN
   -- 触发器代码...
END;</code>
ログイン後にコピー

トリガーの種類

トリガーのタイミングに応じて、トリガーは次のタイプに分類できます。

BEFORE
    トリガー: イベントが発生する前に実行されます。
  • AFTER
  • トリガー: イベントの発生後に実行されます。
  • イベント タイプに応じて、トリガーは次のように分類できます。

INSERT
    トリガー: 新しい行が挿入されたときにトリガーされます。
  • UPDATE
  • トリガー: 既存の行が更新されたときに発生します。
  • DELETE
  • トリガー: 行が削除されたときに発生します。
  • トリガーの使用シナリオ

トリガーは次のシナリオで広く使用されています:

データ整合性の検証:
    データが特定のルール (非 null 制約、一意制約など) に準拠していることを確認します。
  • 監査とログ:
  • データベース内の変更を追跡し、ユーザー アクティビティを記録します。
  • 自動化タスク:
  • データが変更されたときに特定のタスク (電子メール通知の送信など) を自動的に実行します。
  • ビジネス ロジック:
  • 派生列の計算や関連テーブルの維持など、複雑なビジネス ルールを実装します。

次に、users

テーブルに新しい行が挿入されたときに挿入時間を記録するトリガーの例を示します。

<code class="sql">CREATE TRIGGER insert_timestamp
BEFORE INSERT ON users
AS
BEGIN
   SET NEW.created_at = CURRENT_TIMESTAMP();
END;</code>
ログイン後にコピー
新しい行を users テーブルに挿入すると、挿入前に

insert_timestamp トリガーが実行され、現在のタイムスタンプが行の ## に自動的に設定されます。新しい行 #created_at フィールド。

以上がSQL トリガーの使用法と構文の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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