Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-02-2004
AMO AMO is offline
Miembro
 
Registrado: jun 2003
Ubicación: Mexico D.F.
Posts: 19
Poder: 0
AMO Va por buen camino
primary key

Saludos

Gracias por adelantado. Tengo una tabla en interbase conuna llave primaria de dos columnas, deseo agregar una nueva columna y forme parte de la llave. Para lo anterior pretendo eliminar la llave primaria y reconstruirla utilizando el comando ALTER TABLE.

El caso es que no me permite eliminarla...

Una solucion es copiar la informacion a otra tabla, eliminar la primera y crearla con las caracteristicas deseadas, una vez hecho cargarla con los valores.

Si alguno tubiera una solucion diferente se los agradeceria.

Saludos nuevamente.
Responder Con Cita
  #2  
Antiguo 13-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
No te deja??? Qué error da?? No será que tienes definido en alguna otra tabla algún FK??
Responder Con Cita
  #3  
Antiguo 13-02-2004
AMO AMO is offline
Miembro
 
Registrado: jun 2003
Ubicación: Mexico D.F.
Posts: 19
Poder: 0
AMO Va por buen camino
Gracias por la pronta respuesta.

la tabla se creo con lo siguiente:

CREATE TABLE RUTAF_FAC
(
NORUTA INTEGER NOT NULL,
FACTURA INTEGER NOT NULL,
GUIA VARCHAR(10),
OBSERVACIONES VARCHAR(50),
PRIMARY KEY (NORUTA, FACTURA)
);

se pretende anexar una columan mas a la llave, por lo cual pretendo eliminar la llave de la siguiente forma:

Alter table rutaf_fac drop constraint primary key

que no estoy seguro que la instruccion sea asi. El error es

Token unknown line 1 char 38
Responder Con Cita
  #4  
Antiguo 13-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por AMO
Alter table rutaf_fac drop constraint primary key

que no estoy seguro que la instruccion sea asi. El error es
Efectivamente, la sintaxis no es así. Donde has escrito "primary key" has de escribir el nombre que le diste a esa primary key, algo como

Código:
Alter table rutaf_fac drop constraint PK_rutaf_fac
Responder Con Cita
  #5  
Antiguo 14-02-2004
AMO AMO is offline
Miembro
 
Registrado: jun 2003
Ubicación: Mexico D.F.
Posts: 19
Poder: 0
AMO Va por buen camino
Saludos nuevamente


Tengo un pequeño problema, para el caso de indices tengo los nombres facilmente en el caso de las llaves primarias:

CREATE TABLE RUTAF_FAC
(
NORUTA INTEGER NOT NULL,
FACTURA INTEGER NOT NULL,
GUIA VARCHAR(10),
OBSERVACIONES VARCHAR(50),
PRIMARY KEY (NORUTA, FACTURA)
);

De donde saco el nombre? . Ya cheque en las tablas de systema de interbase y señala un nombre : rdb$primary2 pero al introducirlo en la sentencia


ALTER TABLE RUTAF_FAC DROP CONSTRAINT RDB$PRIMARY2


me genera un error en el cual indica que el nombre no existe. Probe con otrs nombres y lo mismo.

Alguna Idea?


Gracias
Responder Con Cita
  #6  
Antiguo 14-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por AMO
De donde saco el nombre?
Debería de salirte en la definición de la tabla (DDL).

Suponiendo que el motor sea Interbase/Firebird
* Si utilizas el IBExpert (que no lo se y si no es así, te lo recomiendo), cuando visualizas una tabla, hay una pestaña que se llama DDL. Allí te tiene que salir

* Si usas el SQL EXplorer, seleccionando la tabla y, dentro de ella Primary Key, en la pestaña de Text también puedes ver la definición del índice

A ver si alguna de estas soluciones te sirve
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:19:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi