我需要防止輸入重複名稱。此限制需要使用觸發器來施加。我想知道如何限制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