Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/06/2008, 03:24
jc3000
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 6 meses
Puntos: 43
Respuesta: Cambiar clave primaria por una secuencia

Hola, el proceso es sencillo, pero si la tabla tiene hijos puede complicarse.

Asumo que la secuencia ya la tienes creada. Añade a la tabla un campo number, luego montas un pequeño bloque pl-sql con un cursor que te recoja unicamente la PK de la tabla y lo declaras con la coletilla FOR UPDATE NOWAIT.

Ya solo te queda hacer en cada registro que te recupera el cursor, preguntando por los dos campos que forman la PK, un update del campo que te acabas de crear con el nextval de la secuencia.

Si tienes mas dudas, pregunta.

EDITO : Ovbiamente luego tendrás que hacer un drop de la PK antigüa y un create de la nueva.