Si hay "dependencias" de la clave primaria, cada motor reaccionará de manera diferente ante la situación. En el caso particular de interbase, no te deja eliminar la clave primaria, no por el riesgo de perdida de información que has mencionado, sino porque las llaves foraneas no pueden quedar
huerfanas, en el sentido de que no tienen a donde apuntar.
Por ello, es necesario que primero borres todas las llaves foraneas, luego la llave primaria, crees la nueva y después crees las nuevas llaves foraneas (si existen).
Aprovecho para comentar también que una llave primaria puede eliminarse no solo con su nombre (drop constraint), pero también con la instrucción:
Código SQL
[-]
Alter table nombre_tabla drop primary key;
Por último, motores como Oracle han introducido alguna forma de eliminar automáticamente las dependencias. En el caso específico de Oracle la instrucción es:
Código SQL
[-]
Alter table nombre_tabla drop primary key cascade constraints;
Hasta luego.