Create On-Update Trigger
選択したキューブ領域での状態の変更を追跡する更新時トリガーを作成または置換します。
トリガーは、指定された制約が領域内の更新(イベント)中に違反しているかどうかを追跡し、違反が検出された場合に実行する結果アクションを指定するのに役立ちます。
最低限必要な権限: データベース・マネージャ。
タイプが指定されていない場合でも、トリガーのデフォルトのタイプはon-updateトリガーです。 データ更新プロセス中に、キューブ領域に指定された条件を満たすセルの更新によって、トリガーがすぐにアクティブ化されます。 on-updateトリガーは、集約ストレージ・データベースではサポートされていません。 集約ストレージ・データベースを使用している場合は、「after-updateトリガー」を作成できます。
ノート:
計算によって、計算前にすでに存在していたセルに同じ値が割り当てられた場合、そのセルのトリガーはアクティブ化されません。 つまり、セル値が変更されない場合、ブロックはダーティとしてマークされず、トリガー条件が満たされていても、それらのブロックのトリガーはアクティブ化されません。
ノート:
計算、データ更新またはデータ・ロード中にトリガーを作成または置換することはできません。
キーワード
- create [on update] trigger
-
新しいon-updateトリガーを作成します。 「更新時」キーワードはオプションです。更新時トリガーはデフォルトで作成されます。
- create or replace [on update] trigger
-
更新時トリガーを作成するか、同じ名前の既存のトリガーを置き換えます。
- log_value OFF
-
オプション。 トリガー・スプール・ファイルにデータ値を記録しません。 これはデフォルトです。
- log_value ON
-
オプション。 新しいデータ値と古いデータ値をトリガー・スプール・ファイルに記録します。
- where <cube area>
-
追跡するデータベースの領域を定義します。 有効な対称MDXスライサ指定を使用してください。
- when <condition>
-
キーワードWHENに続けて有効なMDX条件式を使用して、テストする条件を定義します。
- then <action>
-
WHEN条件が満たされた場合に実行するアクションを定義します。 「トリガーの例」の例を参照してください。
- else <action>
-
オプション。 WHEN条件が満たされない場合に実行するアクションを定義します。 「トリガーの例」の例を参照してください。
- end
-
ENDキーワードは、すべてのcreate trigger文を終了する必要があります。
例
create or replace on update trigger Sample.Basic.EastColas
where (Jan, Sales, Actual, [100], East)
when Jan > 20 then spool EastColas_Fail end;
データベース・ディレクトリのEastColas_Failファイルにメッセージを記録します。