Power Builder - Cambiar la primary key a otro campo

 
Vista:
sin imagen de perfil
Val: 24
Ha aumentado 1 puesto en Power Builder (en relación al último mes)
Gráfica de Power Builder

Cambiar la primary key a otro campo

Publicado por Javier (75 intervenciones) el 10/06/2014 23:46:29
Hola, aquí saludándolos y molestándolos con lo siguiente:

hace tiempo creé mi base de datos en el mismo power builder (sql anywhere) pero no me había percatado que la primary key la puse en un campo que no era, y ahora necesito cambiarla al campo donde debe de ir, para que no se duplique mi numero de producto.
espero me puedan ayudar.

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cambiar la primary key a otro campo

Publicado por angel garcia (54 intervenciones) el 12/06/2014 00:54:58
Lo primero que debes definir es que la nueva primary key, no sea nula y sea única.

luego puedes aplicar el drop primary key , siempre y cuando la pk (clave primaria actual)de la tabla no se fk (clave foránea) de otra tabla.

primero dropea la clave primaria

verifica las condiciones de la nueva

crea la nueva clave primaria.

esto lo puedes hacer desde el manejador de anywhere , adicionalmente no olvides regenerar tus datawindows y tu aplicación

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 24
Ha aumentado 1 puesto en Power Builder (en relación al último mes)
Gráfica de Power Builder

Cambiar la primary key a otro campo

Publicado por Javier (75 intervenciones) el 12/06/2014 09:25:28
Ya entre a Sybase central y desde ahi elimine la actual primary key, pero a que te refieres con "verifica las condiciones de la nueva PK"??
Al crear la nueva PK me sale el error:

[Sybase][ODBC Driver][SQL Anywhere]Primary key for table 'ventas1' is not unique : Primary key value ('ventas1')
SQLCODE: -193
SQLSTATE: 23000
SQL Statement: ALTER TABLE "DBA"."ventas1" ADD PRIMARY KEY ( "num_poliza" ASC )

no se si sera que en ese campo detecta numeros duplicados (como puedo saber si en ese campo se duplican numeros o registros?), o no se porque me marca el error.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cambiar la primary key a otro campo

Publicado por angel garcia (54 intervenciones) el 16/06/2014 22:15:34
En efecto, este error se presenta porque campo se encuentra duplicado, debes verificar que no existan campos duplicados, o en su lugar crear una nueva pk .. con un número secuencial independiente autoincremental, pero hay que manejarlo con cuidado en anywhere , especialmente para los respaldos de base de datos

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar