Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

クラス定義でのトリガの構文

トリガ定義の構造を説明します。トリガ定義に関する一般情報へのリンクは、“トリガ定義” を参照してください。

概要

トリガは、特定のイベントが InterSystems SQL で発生したときに実行されるコード・セグメントです。InterSystems IRIS は INSERT コマンド、UPDATE コマンド、DELETE コマンドの実行をベースにしたトリガをサポートします。トリガ定義により、指定されたコードは関連するコマンドが実行される直前、または直後に実行されます。各イベントは、実行順序が指定されていれば複数のトリガを持つことができます。

トリガ定義は永続クラスに追加できます。他のクラスでは意味がありません。

詳細

トリガ定義の構造は以下のとおりです。

/// description 
Trigger name [ keyword_list ]  
{ implementation }

以下は、この指定の説明です。

  • description (オプション) は、クラス・リファレンスでの表示を意図しています。description は既定ではブランクです。"クラスの定義と使用" の “クラス・ドキュメントの作成” を参照してください。

  • name (必須) はトリガの名前です。これは、有効なクラス・メンバ名で、かつ他のクラス・メンバ名と重複しないものである必要があります。

  • keyword_list (必須) は、さらにトリガを定義するキーワードのコンマ区切りリストです。

    すべてのキーワードは、“トリガの構文とキーワード” を参照してください。

  • implementation (必須) は、トリガの起動時に実行するコードを定義したゼロ行以上のコードです。

/// This trigger updates the LogTable after every insert
Trigger LogEvent [ Event = INSERT, Time = AFTER ]
{
    // get row id of inserted row
    NEW id
    SET id = {ID}

    // INSERT value into Log table
    &sql(INSERT INTO LogTable (TableName, IDValue) VALUES ('MyApp.Person', :id))

}

関連項目

FeedbackOpens in a new tab