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 Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-06-2016
ryderMX ryderMX is offline
Registrado
NULL
 
Registrado: jun 2013
Posts: 9
Poder: 0
ryderMX Va por buen camino
Clave Foranea se repite muchas veces

Buenas, tengo la siguiente situacion y nosé a que se debe, el tema es que en una de mis tablas al crear una clave foranea, ésta se repite muchas veces, por ahora no ha dado problema pero es claro que no es normal, abajo les dejo el metadata de la tabla que está en la base.
Cita:
/* Table: ITEMCOMPROBPAGO, Owner: SYSDBA */

CREATE TABLE "ITEMCOMPROBPAGO"
(
"IDPAGO" INTEGER NOT NULL,
"ITEM" INTEGER NOT NULL,
"IDCOMPROB" INTEGER NOT NULL,
"IMPORTE" DOUBLE PRECISION,
"IDPAGOADELANTO" INTEGER NOT NULL,
PRIMARY KEY ("IDPAGO", "IDCOMPROB", "ITEM")
);
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDCOMPROB") REFERENCES "COMPROBANTES" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
ALTER TABLE "ITEMCOMPROBPAGO" ADD FOREIGN KEY ("IDPAGOADELANTO") REFERENCES "COMPROBPAGO" ("ID");
SET TERM ^ ;


/* Triggers only will work for SQL triggers */

CREATE TRIGGER "ITEMCOMPROBPAGO_AI" FOR "ITEMCOMPROBPAGO"
ACTIVE AFTER INSERT POSITION 0
AS
BEGIN
UpDate Comprobantes Set Pagado=Pagado+New.Importe Where Id=New.IdComprob ;
END
^

CREATE TRIGGER "ITEMCOMPROBPAGO_AU" FOR "ITEMCOMPROBPAGO"
ACTIVE AFTER UPDATE POSITION 0
AS
BEGIN
UpDate Comprobantes Set Pagado=Pagado-Old.Importe Where Id=Old.IdComprob ;
UpDate Comprobantes Set Pagado=Pagado+New.Importe Where Id=New.IdComprob ;
END
^

CREATE TRIGGER "ITEMCOMPROBPAGO_BD" FOR "ITEMCOMPROBPAGO"
ACTIVE AFTER DELETE POSITION 0
AS
BEGIN
UpDate Comprobantes Set Pagado=Pagado-Old.Importe Where Id=Old.IdComprob ;
END
^

COMMIT WORK ^
SET TERM ;^

Última edición por Casimiro Notevi fecha: 05-06-2016 a las 09:12:35.
Responder Con Cita
  #2  
Antiguo 05-06-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Cómo puede ser?
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ibdatabase y firebird a veces si a veces no Patricio Conexión con bases de datos 13 18-09-2008 14:01:21
Filrtar tabla por llave foranea?? Gaim2205 Conexión con bases de datos 3 14-09-2007 21:42:34
Saber cuantas veces se repite un dato en una tabla Tangela SQL 2 18-08-2005 06:31:13
¿SQL q devuelva el total de veces q se repite un numero? Torreblanca SQL 3 31-07-2005 02:48:06
Problema con referencia foranea ! erickperez6 Firebird e Interbase 10 12-05-2003 17:52:21


La franja horaria es GMT +2. Ahora son las 06:49:30.


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