Я подозреваю, что единственный способ сделать это правильно - это запросить метаданные базы данных - идентифицировать все места, где ваш PK используется как FK, в процедуре или в представлении. Это может быть сложно; хрупкий; и подвержен ошибкам.
Это одна из (многих) причин, по которой следует избегать использования PK как чего-либо иного, кроме производного от системы, бессмысленного значения, которое недоступно для манипуляций (даже) создателем / администратором. Кроме того, при каких обстоятельствах вы жестко закодировали бы PK в процедуре или функции - опять же потенциальный источник уязвимости в вашей системе.
Если создан PK, который является неправильным (по каким-либо критериям) или который необходимо изменить, создайте новую запись и скопируйте в нее существующие значения. Хотя это не отвечает на ваш запрос, ваши процедуры для удаления или изменения значений в таблице должны знать, как и где она используется; и поэтому процедура копирования строки должна иметь доступ к этой информации.