NOTIZIE

Apex Triggers: Differenze Chiave tra Trigger.new e Trigger.old

Giovanni1993
| 2/6/2026

Capire i Trigger Apex in Salesforce: Trigger.new contro Trigger.old

In Salesforce, i trigger Apex sono strumenti fondamentali per automatizzare operazioni su record durante eventi come inserimenti, aggiornamenti ed eliminazioni. La distinzione tra Trigger.new e Trigger.old è essenziale per gestire correttamente questi processi.

Trigger.new rappresenta la lista dei record nella loro versione nuova o corrente. È disponibile nei trigger di insert e update, e permette modifiche solo nei contesti before insert o before update. Questo contesto è ideale per validare o alterare dati prima del salvataggio in database[2][3].

Al contrario, Trigger.old fornisce i record nella loro versione precedente. Risulta accessibile solo nei trigger di update e delete, utile per confronti tra valori passati e presenti, come nel rilevamento di cambiamenti specifici su campi[1][2].

Utilizzi Pratici

  • Confronto valori: Nei trigger before update, si crea una mappa da Trigger.old per verificare differenze, ad esempio bloccando modifiche su date di attività[1].
  • Logica condizionale: Per operazioni come calcoli su assignee o roll-up fields, si accede a Trigger.oldMap per ID univoci, garantendo precisione[1].

Sfruttare correttamente queste liste evita errori comuni, come mismatch tra record o fallimenti in bulk operations. Sviluppatori Apex devono sempre considerare il contesto del trigger per ottimizzare performance e affidabilità in Salesforce[3][4].