经常要使用匿名块验证代码片段的可用性,尤其是在写测试类的时候。一个很长的测试类,一口气写完,再逐一排查问题是很低效的。
但是,使用匿名块执行代码片段的话,插入数据或者修改数据的动作就会对数据库造成实际的影响。这个时候,我们就可以使用SavePoint来避免这个问题。
如下
Savepoint sp = Database.setSavepoint(); // Place your code here Database.rollback(sp);
这样,如果DML代码成功了,也不会对数据库造成任何影响。
关于SavePoint和Rollback,参照官方文档。