ユーザー定義のイベント トリガーの作成

ユーザー定義イベントトリガーを作成する場合は、まず、トリガーアクションの条件として機能できるユーザー定義イベントを作成する必要があります。次に、ユーザー定義イベントトリガーを作成します。最後に、トリガーをテストします。

トリガーは他のTDVリソースと同様に作成されますが、公開することはできません。

ユーザー定義イベントは、組み込みプロシージャのGenerateEvent (/lib/util/にあります)がイベント名と値を引数として呼び出されたときに生成されます。

ユーザー定義イベントトリガーは、クラスターごとに1回実行されます。タイマーベースのトリガーは、クラスター対応として指定でき、ユーザー定義イベントが生成されるすべてのクラスターノードで起動します。

ユーザー定義のイベントを作成するには

1. 次の例のように、CallsGenerateEvent という名前の SQL スクリプト プロシージャを作成して、GenerateEvent を呼び出します。
PROCEDURE CallsGenerateEvent()
    BEGIN
                CALL GenerateEvent('runAReport', ' ');
    END

このプロシージャはGenerateEventを呼び出し、GenerateEventはrunAReportという名前のカスタムイベントを作成します。このプロシージャが実行されるたびに、GenerateEventはrunAReportという名前のカスタムイベントをトリガーシステムに挿入します。カスタムイベントは、ユーザー定義のイベントトリガーの[Condition(条件)]セクションでユーザー定義のイベント名として指定できます。

ユーザー定義のイベント トリガーを作成するには

  1. リソース ツリーで新しいリソースを追加できる場所を右クリックし、[新しいトリガー] を選択します。

  2. [入力] ウィンドウで、トリガーの名前を指定し、[OK] をクリックします。

  3. 右側に表示されるトリガー エディターで、[トリガーを有効にする] チェック ボックスをオンにして、トリガーを有効にします。

  4. [条件タイプ] セクションのドロップダウン リストから [ユーザー定義イベント] を選択します。

  5. [ユーザー定義のイベント名] フィールドに、イベントの名前を入力します。

  6. run*などの正規表現を使用して、複数の類似したユーザー定義イベント名に一致させることができます。この例では、runAReportという名前を入力します。

  7. [アクション タイプ] で、トリガーするアクションのタイプをドロップダウン リストから選択します。

  8. [アクション] セクションで、アクション タイプのオプションを入力します。オプションについては、セクションアクション ペインで説明されています。

プロシージャが PIPE カーソルを含む SQL スクリプトである場合は、[出力カーソルの排出] を選択します。

たとえば、電子メール通知を送信する場合は、必要に応じて、通知を受信する受信者の電子メールアドレスを入力して確認します。アドレスフィールドに、電子メールアドレスのリストを、それぞれのアドレスをカンマ(,)またはセミコロン(;)で区切って指定できます。[Info(情報)]タブをクリックします。[Maximum Number In Queue(キュー内の最大数)]フィールドを、繰り返し制限によってトリガーの起動が妨げられている間に複数の期間が経過した場合に、このトリガーが起動される最大回数に指定します。ほとんどのトリガーは、次に使用可能なアクティブな動作時間枠のときに1回だけ起動しますが、繰り返し制限が次に開始されたときに複数のトリガーアクションが起動される場合があります。この数を負にすることはできません。

  1. トリガーを保存します。

[Save (保存) ]オプションが有効になっていない場合は、[File (ファイル) ] > [Refresh All (すべて更新) ]を選択してリソースを更新し、[Save (保存) ]オプションを有効にします。

ユーザー定義のイベントトリガーをテストするには

ユーザー定義のイベント トリガーの作成の説明に従って作成された CallsGenerateEvent プロシージャを実行します。