Apex Triggerトリガコンテキスト変数の使い方のサンプル

環境
Salesforce Apex

概要
Trigger.isBefore
Before triggerの場合に、trueを返します。

Trigger.isAfter
After triggerの場合に、trueを返します。

Trigger.isInsert
レコードの新規作成処理によるApexトリガの場合に、Trueを返します。

Trigger.isUpdate
レコードの更新処理によるApexトリガの場合に、Trueを返します。

Trigger.isDelete
レコードの削除処理によるApexトリガの場合に、Trueを返します。

Trigger.isUndelete
レコードの復元処理によるApexトリガの場合に、Trueを返します。

使用例

trigger TriggerTest on Account (before insert,before update,before delete,after insert,after update,after delete,after undelete) {
    //コンテキスト変数isBefore
    if(Trigger.isBefore){
        system.debug('BeforeTrigger処理start---------------------------------------------------');  
        system.debug('コンテキスト変数isBefore: '+ Trigger.isBefore);  
        //AccountHandleクラスの呼び出し
        AccountHandler.AccountHandler();
        system.debug('BeforeTrigger処理完了---------------------------------------------------');  
    }

    //コンテキスト変数isAfter確認
    if(Trigger.isAfter){
        system.debug('AfterTrigger処理start---------------------------------------------------');  
        //AccountHandleクラスの呼び出し
        AccountHandler.AccountHandler();
        system.debug('AfterTrigger処理完了---------------------------------------------------');  
    }
    
    //--------------------------------------------------------------------------------------------------
    // insertトリガ 確認
    // afterInsertの場合
    if(Trigger.isAfter && Trigger.isInsert){
        AccountHandler.AccountHandlerAfterInsert();
    }
    //--------------------------------------------------------------------------------------------------
    // updateトリガ 確認
    // afterUpdateの場合
    if(Trigger.isAfter && Trigger.isUpdate){
        AccountHandler.AccountHandlerAfterUpdate(Trigger.newMap,Trigger.oldMap);
    }
    //--------------------------------------------------------------------------------------------------
    //Deleteトリガ 確認
    //Before Delete
    if(Trigger.isBefore && Trigger.isDelete){
        AccountHandler.AccountHandlerAfterDelete();
    }
    //--------------------------------------------------------------------------------------------------
    //UnDeleteトリガ 確認
    //After UnDelete
    if(Trigger.isAfter && Trigger.isUndelete){
        AccountHandler.AccountHandlerAfterUnDelete();
    }

}

 

Apex

Posted by arkgame