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 09-11-2012
rg5820 rg5820 is offline
Registrado
NULL
 
Registrado: oct 2012
Posts: 7
Poder: 0
rg5820 Va por buen camino
Borrado en cascada con Firebird

Buenos dias.
Mi consulta es si con Firebird se puede realizar borrado en cascada y en caso de ser asi, queria saber de que manera poder hacerlo.
Es decir para pensarlo en un ejemplo simple.

Existen 2 tablas.
"Socios"
-id.
-codigo
-nombre
-telefono

y

"Pago_de_cuotas"
-id
-Socios_Id
-Nro.Cuota
-Año
-Importe

Para borrar los registros de un socio de la tabla "Socios" y todos sus registros de la tablas "Pago_de_Cuotas"
de que manera se puede hacer esta tarea?, hay que activar o setar algún parametro en la configuración
del motor para realizar la transacción?
Muchas Gracias.
Responder Con Cita
  #2  
Antiguo 09-11-2012
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Tienes que utilizar en el "script" de creación la claúsula "ON DELETE CASCADE".

Código SQL [-]
CREATE TABLE TAB_KuuYletunnid (
UID DOM_PK PRIMARY KEY,
Tooleping DOM_FK REFERENCES TAB_Tooleping(UID) ON DELETE CASCADE,
...
);

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 09-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por rg5820 Ver Mensaje
.
No repitas preguntas en distintos apartados, no olvides nuestra guía de estilo.
Responder Con Cita
  #4  
Antiguo 09-11-2012
Avatar de Young
Young Young is offline
Miembro
 
Registrado: abr 2006
Ubicación: San Felipe, Chile
Posts: 86
Poder: 19
Young Va por buen camino
Creo que quedaría más claro con la sintaxis tradicional:


Código SQL [-]
CREATE TABLE PAGO_DE_CUOTAS (
  ID  INTEGER NOT NULL,
  SOCIOS_ID  INTEGER NOT NULL,
  NRO_CUOTA SMALLINT,
  ANIO SMALLINT,
  IMPORTE NUMERIC(15,2),
  PRIMARY KEY (ID),
  FOREIGN KEY (SOCIOS_ID) REFERENCES SOCIOS (ID) ON UPDATE CASCADE ON DELETE CASCADE
);

Bueno estoy suponiendo los tipos de datos y la clave primaria, a menos que sea compuesta.

Saludos.
Responder Con Cita
  #5  
Antiguo 10-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Young Ver Mensaje
Creo que quedaría más claro con la sintaxis tradicional:
El código usardo por marcoszorrilla es tradicional, en lugar de usar los tipos, usa dominios.
Responder Con Cita
  #6  
Antiguo 11-11-2012
Avatar de Young
Young Young is offline
Miembro
 
Registrado: abr 2006
Ubicación: San Felipe, Chile
Posts: 86
Poder: 19
Young Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
El código usardo por marcoszorrilla es tradicional, en lugar de usar los tipos, usa dominios.
Por lo mismo... tarde un momento en darme cuenta de que se trataba, por eso lo puse de forma que nosotros, los eternos principiantes, lo entendiéramos rápidamente.

Saludos.
Responder Con Cita
  #7  
Antiguo 11-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bien, puede que así se entienda mejor por la mayoría, lo que ocurre es que a mí me lo enseñaron de esa manera, con dominios, y es la única forma que he usado siempre, para mí es tradicional. La otra forma, la que tú llamas "tradicional", para mí es la forma "extraña"

Resumiendo, tal y como dices tú y marcoszorrilla, se trata sólo de añadir el 'on delete cascade'
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
Borrado, actualizacion en cascada flystar Tablas planas 0 05-07-2006 23:23:22
actualizacion en cascada karocs SQL 5 13-12-2004 16:57:17
Borrado en cascada fjolivares Firebird e Interbase 6 04-03-2004 11:09:25
ADO Borrado en Cascada TONIAM Conexión con bases de datos 2 09-12-2003 15:20:25
Duda borrado en cascada chakal Conexión con bases de datos 2 13-10-2003 19:54:16


La franja horaria es GMT +2. Ahora son las 14:14:38.


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