è importante che tu decida, prima cosa, se l'assegnazione è casuale o selettiva.

in ogni caso dovrai verificarne le disponibilità durante il tentativo di assegnazione.
la metodologia potrebbe cambiare a seconda del contesto.
in sostanza prima di assegnare il record lo identifichi come "libero" (secondo i tuoi criteri) e subito lo assegni ad un identificativo.