Why does my Apex trigger fire twice on a single record update?
I created a before update trigger on Opportunity, but when I update one field, the trigger logic runs twice. How can I prevent recursion in Salesforce triggers?