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?