Activity › Forums › Salesforce® Discussions › How can we hard delete a record using a Salesforce Apex class by code?
Tagged: Apex Class, DataBase EmptyRecycleBin, Delete Record, Salesforce Apex, Salesforce Apex Code, Salesforce batch Class, Salesforce Methods
-
How can we hard delete a record using a Salesforce Apex class by code?
Posted by madhulika shah on July 31, 2018 at 12:52 PMHow can we hard delete a record using a Salesforce Apex class by code?
shariq replied 7 years, 7 months ago 3 Members · 2 Replies -
2 Replies
-
Hi Madhulika,
Hard delete is done by using DataBase.emptyRecycleBin method in the Batch class. Create a sample Batch class as mentioned below and use DataBase.emptyRecycleBin method in the Batch class.
global class BatchDeletion implements Database.Batchable<sObject>, Schedulable
{
global BatchDeletion()
{
//constuctor
}global Database.QueryLocator start(Database.BatchableContext bc)
{
//query to return all expired Case Share records
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()+’ case share recs’);//delete list of expired Case Share records
delete scope;
Database.emptyRecycleBin(scope);
}global void finish(Database.BatchableContext BC)
{
//no post processing
/* System.debug(‘## Batch Job Finished ##’);
UpdateAccountFields m = new UpdateAccountFields ();
String sch = ’20 30 8 10 2 ?’;
system.schedule(‘Merge Job’, sch, m);*/}
}Hope this will help you.
Thanks.
- [adinserter block='9']
-
Hi,
We can hard delete record or list of records using emptyRecycleBin() function in apex. Pass the record or record list to emptyRecycleBin() to delete it from Recycle Bin.
Contact con = new Contact(Id = ’09k110000O5abc’);
Database.emptyRecycleBin(con);Note: The DML operation datatbase.emptyRecycleBin() is limited to 200 items.
Hope this helps.
Log In to reply.