Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

Salesforce からレコードを物理削除する

公開日: Jul 14, 2025
説明
Salesforce(セールスフォース)でレコードを物理削除するには、Apex一括処理クラスでDataBase.emptyRecycleBinメソッドを使用します。
database.deleteの後にdatabase.emptyRecycleBinを追加することで、データローダの物理削除と同じ効果が得られます。
解決策

一括処理クラスの DataBase.emptyRecycleBin メソッドを使って物理削除を実行できます。以下のようにサンプルの一括処理クラスを作成し、一括処理クラスで DataBase.emptyRecycleBin メソッドを使用します。

global class BatchDeletion implements Database.Batchable<sObject>, Schedulable 
{   
    global BatchDeletion()
    {
           //constuctor  
    }
                
    global Database.QueryLocator start(Database.BatchableContext bc)
    {
        // query to delete account records with name 'Test Account12'        
        return Database.getQueryLocator([Select id from Account where Name='Test Account12']);
    } 
    
    global void execute(SchedulableContext sc)  
    {   
        //execute the batch
        BatchDeletion deleteCS = new BatchDeletion();
        ID batchprocessid = Database.executeBatch(deleteCS);
    }
    
    global void execute(Database.BatchableContext BC, list<sObject> scope)
    {     
      System.debug('## deleting '+scope.size()+' account records');   
 
        //delete list of Account records with name Test Account12
            delete scope;   
            Database.emptyRecycleBin(scope);  
    }
        
    global void finish(Database.BatchableContext BC) 
    {                 
        //no post processing
       
     }
}



ナレッジ記事番号

000385786

 
読み込み中
Salesforce Help | Article