About this question
My Object Test__c has two lookup
Emp__c - 1st lookup
Score__c -2nd lookup
I have populated all the values.
upsert (new Test__c(emp__c = 'XXXX',score__c = '123')); upsert (new Test__c(emp__c = 'XXXX',score__c = '123'));
Does it create two records ? I guess it sounds silly ? But wanna check the clear idea behind the upsert ?
Thanks All....! I just completely understand that it is only based on the ID or External Id. I did an example with my test object. Working awesome...
External_Id__c - Is a text field with the external ID checked while creating a field.
I have a record with the same external id ie. Name = Test1, Exception = Ex1
PAK09_Test1__c ct2 = new PAK09_Test1__c(Name ='Test3', Exception__c='Ex3', External_Id__c='123'); database.upsert(ct2, PAK09_Test1__c.Fields.External_Id__c);
Existing record is updated with Name = Test3,Exception = Ex3.