Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come evitare una race condition del database quando si incrementa manualmente PK di una nuova riga

Crea una tabella ausiliaria con una colonna Identity. In una transazione inserisci nella tabella aux, recupera il valore e usalo per inserirlo nella tua tabella legacy. A questo punto puoi anche cancellare la riga inserita nella tabella aux, il punto è solo usarla come fonte di valori incrementati.