PDA

Ver la Versión Completa : Eliminar key Primary base Firebierd


pmtzg
15-08-2011, 03:39:55
hola compañeros

deseo preguntarles como puedo eliminar de una tabla de firebird
la primary key

me podrian ayudar , lo deseo hacer porque me causa problemas a la hora de insertar registros

es posible esto desde delphi ??

gracias

ecfisa
15-08-2011, 05:06:40
Hola.

Desde Delphi con un TIBSQL:

procedure TForm1.btQuitarClick(Sender: TObject);
begin
IBSQL1.SQL.Text:= 'ALTER TABLE TU_TABLA DROP CONSTRAINT TUTABLA_PK';
try
IBSQL1.ExecQuery;
except
raise Exception.Create('Error: No se puede eliminar CONSTRAINT');
end;
end;

procedure TForm1.btPonerClick(Sender: TObject);
begin
IBSQL1.SQL.Text:= 'ALTER TABLE TU_TABLA ADD CONSTRAINT TUTABLA_PK PRIMARY KEY(TUTABLA_ID)';
try
IBSQL1.ExecQuery;
except
raise Exception.Create('Error: No se puede agregar CONSTRAINT');
end;
end;



Saludos.

guillotmarc
15-08-2011, 10:06:44
Si el código de Ecfisa te da problemas, entonces simplemente apaga y vuelve a encender el servicio de Firebird. Puesto que es muy posible que tengas transacciones activas que afectan a dicha clave primaria, y hasta que no las termines, no podrás eliminar la clave.

Saludos.

pmtzg
15-08-2011, 19:49:22
como les comentaba estoy insertando registros

lo hago desde paradox a firebird
y cuando creo las tablas de firebird lo hago con la estructura de las tablas de
paradox lo mimso para los index

y si antes de pasar y crear mis tablas de firebird primero elimino
la primary key de paradox

¿esrto se puede hacer ?
asi que cuando copie la estructura de de paradox y la pase a firebird
ya me pase sin la clave primaria

gracias por su orientación

ecfisa
16-08-2011, 00:06:06
y si antes de pasar y crear mis tablas de firebird primero elimino
la primary key de paradox ¿esrto se puede hacer ?

Hola pmtzg.

Realmente no sé si se puede hacer con Paradox.
Te aconsejo que pongas esa duda en el foro Tablas planas ya que es visitado por usuarios que las utilizan y seguramente encuentres más respuestas a tu consulta.

Un saludo.