Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-12-2004
TJose TJose is offline
Miembro
 
Registrado: may 2003
Posts: 162
Poder: 22
TJose Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 20-12-2004
celades celades is offline
No confirmado
 
Registrado: may 2003
Ubicación: Torroella de Montgrí (Girona)
Posts: 42
Poder: 0
celades Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 21-12-2004
TJose TJose is offline
Miembro
 
Registrado: may 2003
Posts: 162
Poder: 22
TJose Va por buen camino
Hola celades, Foro

tal cual lo dices. El problema esta resuelto.
Gracias
Saludos
TJose
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 14:01:12.


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