Tuesday, 2 January 2018

Trigger to avoid duplicate records on insert/update

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
trigger FindDuplicate on Account (before insert, before update) {

    set<string> NameSet = New set<string>();

    for(Account onn : Trigger.new){
        NameSet.add(onn.Name);
    }    

    if(NameSet.size()>0 && NameSet.size()!=null){  

        List<Account > NameList = [Select id, Name from Account WHERE Name in: Nameset];
        Map<string,Account > NameCompareMap = new Map<String,Account >();

        for(Account One : NameList){
            NameCompareMap.put(one.Name, one);
        }        

        for(Account On1 : trigger.new){
            if(NameCompareMap.containsKey(on1.Name)){
                On1.Name.adderror('NaMe AlReAdY eXiStS');
            }
        }
    }
}

No comments:

Post a Comment