Post tecnico: come aggiornare tanti record in MSSQL senza fare dei LOCK
Come aggiornare tantissimi record su una tabella del db della Microsoft senza effettuare un lock alla stessa? Potremmo semplicemente usare l’istruzione SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ma rischieremmo di creare disallineamenti vari a causa della lettura “al volo” dovuta all’istruzione sopra citata. La soluzione quindi è aggiornare un po’ di record alla volta, così come segue: set ROWCOUNT 100 update TABELLA_PROVA with(UPDLOCK) set FL_AGG = 1, CAMPO1 = CAMPO2 + CAMPO3 where FL_AGG = 0 set ROWCOUNT 0 ...