Development questions

Prevent deletion of an Opportunity if its stage is Closed Won.

DevelopmentEasyTCSWiproCognizant

Use before delete and addError on Trigger.old records.

apex
trigger OppTrigger on Opportunity (before delete) {
    for (Opportunity o : Trigger.old) {
        if (o.StageName == 'Closed Won') {
            o.addError('Closed Won Opportunities cannot be deleted.');
        }
    }
}

A simpler declarative route is not available for delete, since validation rules don't run on delete, so a trigger (or a restricted profile) is required.

apex-triggertriggercodingscenariovalidation