Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Bases de datos > Firebird e Interbase
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 09/11/2012
rg5820 rg5820 is offline
Registrado
NULL
 
Join Date: 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.
Reply With Quote
  #2  
Old 09/11/2012
marcoszorrilla's Avatar
marcoszorrilla marcoszorrilla is offline
Capo
 
Join Date: May 2003
Location: 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
Quote:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Reply With Quote
  #3  
Old 09/11/2012
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Quote:
Originally Posted by rg5820 View Post
.
No repitas preguntas en distintos apartados, no olvides nuestra guía de estilo.
Reply With Quote
  #4  
Old 09/11/2012
Young's Avatar
Young Young is offline
Miembro
 
Join Date: Apr 2006
Location: San Felipe, Chile
Posts: 86
Poder: 21
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.
Reply With Quote
  #5  
Old 10/11/2012
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Quote:
Originally Posted by Young View Post
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.
Reply With Quote
  #6  
Old 11/11/2012
Young's Avatar
Young Young is offline
Miembro
 
Join Date: Apr 2006
Location: San Felipe, Chile
Posts: 86
Poder: 21
Young Va por buen camino
Quote:
Originally Posted by Casimiro Notevi View Post
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.
Reply With Quote
  #7  
Old 11/11/2012
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví 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'
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Borrado, actualizacion en cascada flystar Tablas planas 0 05/07/2006 23:23
actualizacion en cascada karocs SQL 5 13/12/2004 16:57
Borrado en cascada fjolivares Firebird e Interbase 6 04/03/2004 11:09
ADO Borrado en Cascada TONIAM Conexión con bases de datos 2 09/12/2003 15:20
Duda borrado en cascada chakal Conexión con bases de datos 2 13/10/2003 19:54


All times are GMT +2. The time now is 21:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi