11

特定のフィールドが before/after update トリガー内の update 呼び出しに含まれているかどうかを確認する方法を教えていただければ幸いです。どうもありがとう。

4

2 に答える 2

14

すべてのフィールドは、ダーティかどうかに関係なく常にトリガーに存在します。特定のフィールドが変更されているかどうかを確認するにoldMapは、マップを使用して以前のバージョンの行を取得しMap<ID, sObject>、新旧の値を比較する必要があります。例えば

trigger CaseOnParticularFieldUpdate on Case (before update) {
    for (Case c: Trigger.new) {
        Case oldCase = Trigger.oldMap.get(c.ID);
        if (c.Field != oldCase.Field) {
            // field was updated, do some magic here
        }
    }
}
于 2011-04-05T09:39:51.520 に答える
1

トリガーには、呼び出された sobject のすべてのフィールドが含まれます。そのオブジェクトの任意のフィールドの以前の (古い) 値と現在の (新しい) 値を確認して比較し、それに応じて操作を実行できます。

お役に立てば幸いです。

于 2014-05-12T12:04:39.297 に答える