SQL トリガーの使用法と構文
はじめに:
SQL トリガー (トリガー) は、データベース テーブル内で発生する特別なストアド プロシージャです。次の場合に自動的にトリガーされます。特定の操作が発生します。トリガーにより、テーブル データの更新、挿入、削除操作の自動処理が可能になります。この記事では、SQL トリガーの使用法と構文を紹介し、具体的なコード例を示します。
1. SQL トリガーの概念と機能
SQL トリガーはデータベースの非常に重要な部分であり、特定のデータ操作 (INSERT、UPDATE、DELETE など) が発生すると自動的にトリガーされます。トリガーを通じて、テーブルデータの制約、チェック、補足、変更などの操作を実装できます。 SQL トリガーの機能には以下が含まれますが、これらに限定されるものではありません。
2. SQL トリガー構文
SQL トリガー構文は、CREATE TRIGGER ステートメントを使用して定義できます。その基本的な構文構造は次のとおりです:
CREATE TRIGGER トリガー名
{ BEFORE | AFTER} {INSERT | UPDATE | DELETE}
ON table_name
FOR EACH ROW
trigger_body
ここで:
3. 具体的なコード例
以下では、SQL トリガーの使用方法を説明するために具体的な例を使用します:
「Customers」という名前のテーブルがあり、その中に次のフィールド:
CustomerID (主キー)
CustomerName
Address
City
Country
INSERT 操作が実行されるたびに自動的に更新する必要があります。テーブルの「LastUpdated」フィールドは現在の時刻です。これは、次のトリガーで実現できます:
CREATE TRIGGER update_last_updated
AFTER INSERT ON Customers
FOR EACH ROW
BEGIN
UPDATE Customers
SET LastUpdated = CURRENT_TIMESTAMP
WHERE CustomerID = :NEW.CustomerID;
END;
上記のコードでは、「update_last_updated」はトリガーの名前です。AFTER INSERT は挿入操作の後に実行がトリガーされることを意味し、Customers はターゲット表の名前、FOR EACH ROWはデータの各行の実行をトリガーすることを意味します。trigger_body部分はPL/SQLコード・ブロックであり、「LastUpdated」フィールドの値がUPDATE文によって現在時刻に更新されます。
上記のトリガーにより、「Customers」テーブルで INSERT 操作が実行されるたびに、「LastUpdated」フィールドが現在時刻に自動的に更新されます。
結論:
SQL トリガーは、データベース テーブル データの処理を自動化する便利な方法を提供します。トリガーを定義すると、特定の操作が発生したときに指定したロジックコードを自動的に実行できます。この記事では、SQL トリガーの使用法と構文を紹介し、具体的なコード例を示します。読者が SQL トリガーを理解して適用する際に役立つことを願っています。
以上がSQLトリガー関数と構文の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。