我需要防止输入重复名称。此限制需要使用触发器来施加。我想知道如何限制DML操作的发生。不确定在批量代码中使用.addError。触发器以防止salesforce中出现重复记录名称
Set<string> Seta= new Set<string>();
for(oj__c o:trigger.new)
{
Seta.add(c.name);
}
List<oj__c> listoj= new List<oj__c>();
listoj=[select id from oj__c where name in :Seta]
if listoj.size()>0
trigger.new.adderror('Cannot have duplicate name');// i know this line is wrong. How can i stop the DML statement from excuting?
如果我要在单个记录上使用addError,那么我将不得不在循环内部查询不是吗?这可能会导致超过州长限制 – Prady 2012-01-30 07:36:22
我得到了一个很好的参考,我需要在这里http://www.salesforce.com/docs/developer/cookbook/Content/apex_dedupe.htm – Prady 2012-01-30 08:19:49