Ho un'app con le seguenti tre tabelle
- Email (numero email, indirizzo)
- Destinatari (reportNumber, emailNumber, lastChangeTime, stato)
- Segnala (reportNumber, reportName)
Ho un'applicazione C#
che utilizza query in linea per la selezione dei dati.
Ho una query di selezione che seleziona tutti i report e i relativi destinatari. I destinatari sono selezionati come stringa separata da virgola.
Durante l'aggiornamento, devo controllare concurrency
. Attualmente sto usando MAX (lastChangeTime) per ogni reportNumber. Questo è selezionato come maxTime. Prima dell'aggiornamento, controlla che
lastChangeTime <= maxTime. --//It works fine
Uno dei miei co-sviluppatori mi ha chiesto perché non usare GETDATE()
come "maxTime" piuttosto che usare un'operazione MAX
. Anche questo funziona. Ecco cosa stiamo verificando se i record non vengono aggiornati dopo record selection time
.
C'è qualche rischio nell'usare GETDATE()
per questo scopo?