SalesForce DML基于集合的操作和原子事务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SalesForce DML基于集合的操作和原子事务相关的知识,希望对你有一定的参考价值。
我刚刚开始阅读有关Salesforce APEX及其DML的内容。您似乎可以通过构建列表,将要更新的项目添加到列表,然后发出update myList
调用来进行批量更新。
这样的update
调用是否会创建一个原子事务,因此如果由于任何原因对列表中某个项的更新失败,整个更新操作是否会回滚?如果没有,有没有办法在原子事务中包装更新?
您的整个上下文是一个原子事务。当Apex代码运行时,SF已经启动,无论是Visualforce按钮单击,触发器还是任何其他入口点。如果遇到验证错误,则为null 指针 引用异常,尝试除以零,抛出异常等 - 整个事情将被回滚。
update myList;
以“全有或全无”模式工作。如果其中一个记录在验证规则必填字段缺失等方面失败 - 您将获得异常。您可以将它包装在try-catch块中,但仍然 - 整个列表无法加载。
如果你需要“保存你所能”的行为(你)r - 阅读有关此电话的Database.update()
版本。它采用可选参数,让您完全可以做到这一点。
最后但并非最不重要的是,如果您正在插入复杂的方案(插入帐户,插入联系人,其中一个联系人失败,但你在try-catch中有这个,所以帐户保存好了所以现在,你必须手动删除吗?弱... 。)你有Database.setSavepoint()
和Database.rollback()
电话。
https://salesforce.stackexchange.com/questions/9410/rolling-back-dml-operation-in-apex-method
以上是关于SalesForce DML基于集合的操作和原子事务的主要内容,如果未能解决你的问题,请参考以下文章
Salesforce LWC学习 LDS & Wire Service 实现和后台数据交互 & meta xml配置
如何避免在创建用户的Salesforce测试中出现MIXED_DML_OPERATION错误
更新用户对象时 Salesforce Apex 触发器中的 MIXED_DML_OPERATION 错误
salesforce零基础学习(八十六)Ajax Toolkit (VF页面中使用及javascript action使用)