【Salesforce】オブジェクトのデータを全件削除する方法(開発者向けのワザ)

Salesforce

オブジェクトのデータを全件削除したいタイミングってありますよね。特にテストしている時とか。
でもSalesforceの標準機能に全件削除は無い。そもそも複数選択して削除する機能が無い。

ではどうするか。
方法は色々ありますが、現時点で私が良いと思っている方法を紹介します。

ちなみに開発者向けです。開発者コンソールを使います。
なおタイトルではワザと書いていますが、ワザというほうどのものでもないです。

オブジェクトのデータを全件削除する方法

① 開発者コンソールを開く。

② メニューの「Debug」→「Open Execute Anonymous Windows」

③下記コードを入力して「Execute」をクリック

List<削除したいテーブル名> l = [SELECT Id FROM 削除したいテーブル名];
delete l;

例えば取引先オブジェクトのデータを全件削除したい場合はこういう感じ。

List<Account> l = [SELECT Id FROM Account];
delete l;

この方法の利点として、応用が利くというのがありますね。
特定の条件のレコードのみ一括削除したい場合に、チョチョッと手を加えてあげるだけで良い。

例えば業種(Industry)が”Banking”と”Energy“の取引先のみ削除する場合とか。

List<Account> l = [SELECT Id FROM Account WHERE Industry IN (‘Banking’, ‘Energy’)];
delete l;

はたまた特定IDの取引先のみ削除する場合とか。

List<String> ids = new List<String>();
ids.add(‘0010o00002BncBWAAZ’);
ids.add(‘0010o00002BncBMAAZ’);
List<Account> l = [SELECT Id FROM Account WHERE Id =: ids];
delete l;

書き方も色々です。

コメント

タイトルとURLをコピーしました