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 12-12-2003
xerkan xerkan is offline
Miembro
 
Registrado: jun 2003
Posts: 89
Poder: 21
xerkan Va por buen camino
Borrados en cascada

A ver si alguien puede solventarme esta duda, tengo dos tablas:

CREATE TABLE TiposContrato(
idContrato numeric not null,
Nombre varchar(30) not null,
idPorCotizacion varchar(10),

CONSTRAINT PK_TiposContrato PRIMARY KEY(idContrato),
CONSTRAINT UK_TipCon_Nombre UNIQUE(Nombre),
CONSTRAINT FK_TipCon_idPorCotizacion FOREIGN KEY(idPorCotizacion) REFERENCES PorCotizaciones(idCotizacion) on delete cascade);


CREATE TABLE PorCotizaciones(
idCotizacion varchar(10) not null,
nombre varchar(30),
CONSTRAINT PK_PorCotizaciones PRIMARY KEY(idCotizacion));

el caso es que cuando borro un registro de la tabla tiposcontrato no me borra los registros asociados de la tabla PorCotizaciones
Responder Con Cita
  #2  
Antiguo 12-12-2003
Julià T. Julià T. is offline
Miembro
 
Registrado: may 2003
Ubicación: en el teclado
Posts: 314
Poder: 22
Julià T. Va por buen camino
tal y como lo tienes cuando borres un registro de PorCotizaciones te borrará todos los registros que coincidan con las refrencias de la tabla TiposContrato y no al revés como quieres que lo haga
Responder Con Cita
  #3  
Antiguo 15-12-2003
xerkan xerkan is offline
Miembro
 
Registrado: jun 2003
Posts: 89
Poder: 21
xerkan Va por buen camino
Si no te he entendido mal, quieres decir que para q se haga el borrado en PorCotizaciones dices que se borrara las de tiposcontrato??

Sin embargo cuando se intenta borrar en porcotizaciones larga un mensage de violacion de la clave foranea (lo cual creo q es lo normal), alguna otra idea, de por q no me realiza el borrado en cascada??
Responder Con Cita
  #4  
Antiguo 15-12-2003
brandolin brandolin is offline
Miembro
 
Registrado: jul 2003
Ubicación: Mendoza
Posts: 324
Poder: 21
brandolin Va por buen camino
Creo que el codigo deberia ser:

CREATE TABLE TiposContrato(
idContrato numeric not null,
Nombre varchar(30) not null,
idPorCotizacion varchar(10),

CONSTRAINT PK_TiposContrato PRIMARY KEY(idContrato),
CONSTRAINT UK_TipCon_Nombre UNIQUE(Nombre),


CREATE TABLE PorCotizaciones(
idCotizacion varchar(10) not null,
nombre varchar(30),
CONSTRAINT PK_PorCotizaciones PRIMARY KEY(idCotizacion));
CONSTRAINT FK_TipCon_idPorCotizacion FOREIGN KEY(idPorCotizacion) REFERENCES TiposContrato(idCotizacion) on delete cascade);


Probalo yo no tengo estas tablas pero me funcionan con una estructura parecida.

Avisa el resultado
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 03:27:25.


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