Salesforce中如何恢复误删除的记录 - SOQL | ALL ROWS Usage

前言】:本文不考虑通过选中垃圾箱中的记录,然后通过点击undelete的方式恢复数据的方法。
误删场景】:a. 业务人员或管理员从画面上将主数据/业务数据误删;b. 系统管理员使用dml操作将数据误删。
补救前提】:用户没有将删除的数据从垃圾箱Recycle Bin中清空。
补救步骤】:我们通常会在匿名窗口中通过执行undelete操作来恢复数据,具体步骤如下:
1. fech删除的数据;
2. 执行undelete操作;
3. 运行代码;
为了提高检索的高效性,不妨使用IsDelete字段作为删选条件之一。
Sample】:销售代表sales1误删了他的所有连同联系人的客户信息,然后找到系统管理员予以恢复。
Code preview:

List<Account> accList  = [SELECT Id FROM Account WHERE Owner.Name = 'sales1' ALL ROWS];
undelete accList;
System.debug('restore size: ' + accList.size());

Note:如果单纯的按上述查询语句在Query Editor中搜索不到进入垃圾箱的记录。
SOQL statements can use the ALL ROWS keywords to query all records in an organization, including deleted records and archived activities.
You can use ALL ROWS to query records in your organization's Recycle Bin. You cannot use the ALL ROWS keywords with the FOR UPDATE keywords.
上述SOQL中我们看到了ALL ROWS这条语句,详情见Querying All Records with a SOQL Statement
 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值