На самом деле, я думаю, что вы должны вернуться и пересмотреть свой дизайн базы данных, поскольку вы действительно не должны быть в обстоятельствах, когда вы меняете первичный ключ для записи, как вы предлагаете - это подразумевает, что столбец PersonID на самом деле не является подходящим первичным ключом.
Я предполагаю, что ваш PersonID открыт для ваших пользователей, они по какой-то причине перенумеровали свою базу данных, и вы синхронизируете изменения обратно. Это, как правило, плохая идея, поскольку она нарушает контрольные журналы и временную согласованность. В этих обстоятельствах, как правило, лучше использовать свой собственный неизменяемый первичный ключ - обычно идентификатор - и установить PersonID, который пользователи видят в качестве атрибута этого. Это дополнительная работа, но она даст вам дополнительную стабильность и надежность в долгосрочной перспективе.
Хорошее практическое правило заключается в том, что первичный ключ записи не должен передаваться пользователям, где это возможно, и вы должны делать это только после тщательного рассмотрения. Хорошо, я признаюсь, что неоднократно нарушал это сам, но стоит стремиться к тому, где вы можете :-)