Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   drop constraint (https://www.clubdelphi.com/foros/showthread.php?t=16957)

TJose 17-12-2004 15:29:51

drop constraint
 
Hola a todos
Utilizo Firebird 1.5 sobre Mandrake 9.2. Tengo la siguiente tabla:

create table ordenesfacturacion (
id did /* integer 1 not null */,
fecha dfecha /* date not null */,
idcliente did /* integer 1 not null */,
importe dimporte /* numeric(9,2) 1 not null */,
empleadoadmin dnombre /* varchar(30) not null */,
fecharecepcion dfecha /* date not null */,
nrofactura dnrofactura /* varchar(13) not null */,
fechafactura dfecha /* date not null */,
importefacturado dimporte /* numeric(9,2) 1 not null */,
sector dsector /* char(1) not null */,
estadofactura destadofactura /* char(2) 1 not null default 'sp' */
);


alter table ordenesfacturacion add constraint unq_ordenesfacturacion unique (nrofactura);

alter table ordenesfacturacion add constraint pk_ordenesfacturacion primary key (id);

alter table ordenesfacturacion add constraint fk_ordenesfacturacion_01 foreign key (idcliente) references clientes (id);


y quiero eliminar unq_ordenesfacturacion con la siguiente sentencia:

alter table ordenesfacturacion drop constraint unq_ordenesfacturacion


pero no me deja, produciendose el error

This operation is not defined for system tables.
unsuccessful metadata update.
ERASE RDB$RELATION_CONSTRAINTS failed.
action cancelled by trigger (1) to preserve data integrity.
Cannot delete PRIMARY KEY being used in FOREIGN KEY definition.

Saludos
TJose

celades 20-12-2004 07:46:54

Hola

El problema es porque quieres anular una constraint que es un unique y que se utiliza en un foreign key de otra tabla, para poderlo eliminar primero debes eliminar el forein key de la otra tabla ya que crea dependencia a traves del campo del unique (nrofactura)

Saludos y espero haberte ayudado

TJose 21-12-2004 21:43:40

Hola celades, Foro

tal cual lo dices. El problema esta resuelto.
Gracias
Saludos
TJose


La franja horaria es GMT +2. Ahora son las 17:02:58.

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