modificar una Primary key
hola
tengo un probema con llaves primarias, lo que pasa es que necesito
modificar una llave primaria para que esta compuesta por el codigo del municipio, y necesito que sea una llave primaria compuesta por el codigo y el nombre del municipio.
muchas gracias si pueden ayudarme
tengo un probema con llaves primarias, lo que pasa es que necesito
modificar una llave primaria para que esta compuesta por el codigo del municipio, y necesito que sea una llave primaria compuesta por el codigo y el nombre del municipio.
muchas gracias si pueden ayudarme
Bueno, aparte de un problema con las llaves primarias creo tienes un problema con el oracle.
Si tienes un maestro de Municipios, la llave primaria debe ser el codigo, si la pones con el c贸digo + descripci贸n la vas a cagar pero bien.
En fins, si eso te ayuda y te hace feliz, esto es lo que tienes que poner para cambiar la llave primaria :
La tienes que borrar y crear de nuevo
ALTER TABLE PATATIN
DROP CONSTRAINT NOMBRE_DE_LA_LLAVE_PRIMARIA
/
ALTER TABLE PATATIN
ADD CONSTRAINT NOMBRE_DE_LA_LLAVE_PRIMARIA PRIMARY KEY ( CODIGO,DESCRIPCION )
/
Pero acuerdate de esto, la vas a cagar.
Saludos
Si tienes un maestro de Municipios, la llave primaria debe ser el codigo, si la pones con el c贸digo + descripci贸n la vas a cagar pero bien.
En fins, si eso te ayuda y te hace feliz, esto es lo que tienes que poner para cambiar la llave primaria :
La tienes que borrar y crear de nuevo
ALTER TABLE PATATIN
DROP CONSTRAINT NOMBRE_DE_LA_LLAVE_PRIMARIA
/
ALTER TABLE PATATIN
ADD CONSTRAINT NOMBRE_DE_LA_LLAVE_PRIMARIA PRIMARY KEY ( CODIGO,DESCRIPCION )
/
Pero acuerdate de esto, la vas a cagar.
Saludos
No me acuerdo de como hacerlo de manera directa. Por puedes eliminar la llave primaria y volver a crearla.
Por ejemplo:
--Se crea la tabla con su llave primaria
create table prueba_llave
(campo1 number(3) not null,
nombre varchar2(30) not null,
estado varchar2(1),
constraint PK_prueba_llave primary key (campo1)
)
/
--Eliminas la llave primaria
ALTER TABLE PRUEBA_LLAVE
DROP CONSTRAINT "PK_PRUEBA_LLAVE" CASCADE
/
--Vuelves a crear la llave primaria
ALTER TABLE PRUEBA_LLAVE
ADD (CONSTRAINT PK_PRUEBA_LLAVE PRIMARY KEY(CAMPO1, NOMBRE))
/
P.D. Recuerda que el campo de la llave primaria tiene que ser NOT NULL. No estoy seguro si hace este cambio automatico, cuando se elige un atributo como parte de la llave primaria, y si hay que hacerlo uno mismo.
Por ejemplo:
--Se crea la tabla con su llave primaria
create table prueba_llave
(campo1 number(3) not null,
nombre varchar2(30) not null,
estado varchar2(1),
constraint PK_prueba_llave primary key (campo1)
)
/
--Eliminas la llave primaria
ALTER TABLE PRUEBA_LLAVE
DROP CONSTRAINT "PK_PRUEBA_LLAVE" CASCADE
/
--Vuelves a crear la llave primaria
ALTER TABLE PRUEBA_LLAVE
ADD (CONSTRAINT PK_PRUEBA_LLAVE PRIMARY KEY(CAMPO1, NOMBRE))
/
P.D. Recuerda que el campo de la llave primaria tiene que ser NOT NULL. No estoy seguro si hace este cambio automatico, cuando se elige un atributo como parte de la llave primaria, y si hay que hacerlo uno mismo.