delete()

Deletes one or more individual objects from your organization’s data.

Syntax

DeleteResult[] = binding.delete(ID[] ids);

Usage

Use delete() to delete one or more existing objects, such as individual accounts or contacts, in your organization’s data. The delete() call is analogous to the DELETE statement in SQL.

Rules and Guidelines

When deleting objects, consider the following rules and guidelines:

Basic Steps for Deleting Objects

Deleting objects involves the following basic steps:

  1. Determine the ID of each object that you want to delete. For example, you might call query() to retrieve a set of records that you want to delete based on specific criteria.
  2. Construct an ID[] array and populate it with the IDs of each object that you want to delete. You can specify the IDs of different objects. For example, you could specify the ID for an individual Account and an individual Contact in the same array. For information on IDs, see ID Field Type.
  3. Call delete(), passing in the ID[] array.
  4. Process the results in the DeleteResult[] to verify whether the objects have been successfully deleted.

Sample Code—Java

public boolean deleteSample() {
  // Create an array to hold the IDs of the records to delete and add IDs
  // to the array
  ID[] ids = new ID[] { new ID("001x00000000JerAAE"), new ID("001x00000000JesAAE") };
  // Invoke the delete call
  try {
    DeleteResult[] deleteResults = binding.delete(ids);
    // Process the results
    for (int i=0;i<deleteResults.length;i++) {
      DeleteResult deleteResult = deleteResults[i];
      // Determine whether delete succeeded or had errors
      if (deleteResult.isSuccess()) {
        // Get the id of the deleted record
        deleteResult.getId();
      }
      else {
        // Handle the errors. We just print the first error out for sample purposes.
        Error[] errors = deleteResult.getErrors();
        if (errors.length > 0)  {
          System.out.println("Error code: " + errors[0].getStatusCode());
          System.out.println("Error message: " + errors[0].getMessage());
        }
      }
    }
  } catch (UnexpectedErrorFault e) {
    System.out.println("Unexpected error encountered:\n\n" + e.getExceptionMessage());
    return false;
  } catch (RemoteException e) {
    System.out.println("Remote exception encountered:\n\n" + e.getMessage());
    return false;
  }
  return true;
}

Sample Code—C#

private void deleteAccount()
{
   // Delete call takes a string array of IDs as parameter  
    
   String[] IDs = new String[] {"001x00000000JerAAE"};
   // Invoke the delete call, saving the result in a DeleteResult object  
    
   DeleteResult[] deleteResults = binding.delete(IDs);
   // Determine whether the delete call succeeded or failed  
    
   if (deleteResults[0].success)
   {
      // Delete operation succeeded  
    
      System.Diagnostics.Trace.WriteLine("Deleted: " + deleteResults[0].id);
   } 
   else 
   {
      // Delete operation failed  
    
      System.Diagnostics.Trace.WriteLine("Could not delete because: "+ deleteResults[0].errors[0].message);
   }
}

Arguments

Name Type Description
ids ID[] Array of one or more IDs associated with the objects to delete. In version 7.0 and later, you can pass a maximum of 200 object IDs to the delete() call. In version 6.0 and earlier, the limit is 2,000.

Response

DeleteResult[]

Faults

InvalidSObjectFault

UnexpectedErrorFault

© Copyright 2000-2010 salesforce.com, inc. All rights reserved.
Various trademarks held by their respective owners.