Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2007
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 21
gorsan Va por buen camino
Vaciado de ciertas tablas en Interbase 6

Buenos días.
Necesito bien una utilidad, bien un método para incluir en una aplicación, segun el cual yo pueda vaciar de datos una/s tabla/s en Interbase 6. La parte cliente la estoy realizando con Delphi 7.

Muchas gracias.
Responder Con Cita
  #2  
Antiguo 31-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por gorsan Ver Mensaje
Buenos días.
Necesito bien una utilidad, bien un método para incluir en una aplicación, segun el cual yo pueda vaciar de datos una/s tabla/s en Interbase 6. La parte cliente la estoy realizando con Delphi 7.

Muchas gracias.
¿Pero necesitas tener en cuenta el orden en que se deben eliminar esos datos por "culpa" de los Foreing Key o esas tablas no tienen Foreing Key?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 31-10-2007
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 21
gorsan Va por buen camino
respuesta

Si tienen foreign key.
Código SQL [-]
/* Domain definitions */
CREATE DOMAIN "DOC_NAL_IDEN" AS INTEGER
   CHECK (VALUE>=1 AND VALUE<=99999999);

/* Table: MOV_EXTERNOS_DNI, Owner: SYSDBA */

CREATE TABLE "MOV_EXTERNOS_DNI" 
(
  "DNI2"  "DOC_NAL_IDEN" NOT NULL,
  "DIA_ENTRADA"  TIMESTAMP,
  "DIA_SALIDA"  TIMESTAMP
);
ALTER TABLE "MOV_EXTERNOS_DNI" ADD CONSTRAINT "MOVIMIENTO_DNI" FOREIGN KEY ("DNI2") REFERENCES EXTERNOS_DNI ("DNI1") ON DELETE CASCADE;
ALTER TABLE "MOV_EXTERNOS_DNI" ADD CONSTRAINT "MOVIMIENTO_DNI_2" FOREIGN KEY ("DNI2") REFERENCES EXTERNOS_DNI ("DNI1") ON UPDATE CASCADE;

La idea es que el usuario las vacie cuando tengan un cierto tamaño ya que no interesa que crezcan demasiado. O, en su defecto, eliminarlas yo como administrador.
Responder Con Cita
  #4  
Antiguo 31-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, podriamos hacer un SP muy divertido, pero sinceramente no entendí muy bien cuales son los limites que debe tener dicho barrido de información... asi a simple vista y teniendo en cuenta que tu mismo haras ese trabajo, sería un simple:

Código SQL [-]
Delete from tabla where 
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 31-10-2007
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 21
gorsan Va por buen camino
respuesta

Lo de SP seria lo mas indicado. Necesito vaciar por completo la tabla que quede con cero registros y de la manera mas rapida y menos gravosa posible.
Hablas de un SP pero ¿como?
Responder Con Cita
  #6  
Antiguo 31-10-2007
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 21
gorsan Va por buen camino
respuesta

Pensabaque podia haber una sentencia que lo hiciera de un golpe tal como en Paradox: Table1.EmptyTable; o parecido
Responder Con Cita
  #7  
Antiguo 31-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por gorsan Ver Mensaje
Pensabaque podia haber una sentencia que lo hiciera de un golpe tal como en Paradox: Table1.EmptyTable; o parecido
Claro, puedes hacerlo como te lo indique arriba, con un simple:

Código SQL [-]
Delete from tabla

Ya eliminarias todos los datos de la tabla, en paradox puedes hacerlo a cualquier tabla porque seguramente Paradox no tiene Foreing Keys, pero en FireBird o Interbase ya cuentas con los Foreing Keys, entonces si tratas de eliminar los datos de un encabezado (Por ejemplo) te mostrara un error ya que dichos datos estan siendo usados por un detalle ¿Vez?

Pero no es tan complicado, pensandolo bien, ni siquiera necesitas un SP, colocando los Foreing Key en cascade tipo delete ya resolveria el problema, porque en ese caso solo sería cuestión de hacer un simple Delete from encabezado y automaticamente se eliminarian los registros del detalle ,
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #8  
Antiguo 31-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Ahhh, es mas ya tienes esos Foreing Key en cascade on delete:

Código SQL [-]
ALTER TABLE "MOV_EXTERNOS_DNI" ADD CONSTRAINT "MOVIMIENTO_DNI" FOREIGN KEY ("DNI2") REFERENCES EXTERNOS_DNI ("DNI1") ON DELETE CASCADE;

Solo sería cuestión de eliminar el encabezado, asi:

Código SQL [-]
Delete from EXTERNOS_DNI

Y listo, el detalle tambien se eliminaria .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #9  
Antiguo 31-10-2007
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 21
gorsan Va por buen camino
respuesta

Ya, pero con esto me cepillo tanto los datos de las tablas principales como los de las secundarias y yo solo quiero cargarme (vaciar de datos) la tabla MOV_EXTERNOS_DNI no la EXTERNOS_DNI. Esta ultima tiene que conservar intactos sus datos.
¿como hago esto?
Responder Con Cita
  #10  
Antiguo 31-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por gorsan Ver Mensaje
Ya, pero con esto me cepillo tanto los datos de las tablas principales como los de las secundarias y yo solo quiero cargarme (vaciar de datos) la tabla MOV_EXTERNOS_DNI no la EXTERNOS_DNI. Esta ultima tiene que conservar intactos sus datos.
¿como hago esto?
Bueno, MOV_EXTERNOS_DNI es quien hace referencia EXTERNOS_DNI, entonces en ese caso no tendras problema en hacer delete from MOV_EXTERNOS_DNI, esto ultimo no eliminara los datos de EXTERNOS_DNI .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #11  
Antiguo 31-10-2007
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 21
gorsan Va por buen camino
respuesta

Ok asi es.

Muchas gracias por tu tiempo. Cuando uno se obceca en algo no lo ve ni aunque lo tenga delante de sus narices.

Saludos.
Responder Con Cita
  #12  
Antiguo 31-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por gorsan Ver Mensaje
Ok asi es.

Muchas gracias por tu tiempo. Cuando uno se obceca en algo no lo ve ni aunque lo tenga delante de sus narices.

Saludos.
Que bueno que ha salido bien el asunto, pero ahora que ya haz salido del lio, aprovecho para preguntarte ¿Que es obceca?.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #13  
Antiguo 31-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Ahhh, ya lo encontre...

Cita:
Empezado por diccionarios.com
Verbo pronominal

Mantenerse excesivamente firme en una idea, intención u opinión, generalmente poco acertada, sin tener en cuenta otra posibilidad. obcecarse
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
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
Como hago reportar ciertas partes de una Tabla de datos? Carlos76 Firebird e Interbase 2 07-08-2007 19:28:42
Actualizar Tablas - Interbase BlueSteel Conexión con bases de datos 1 20-11-2006 18:51:50
Vaciado de una tabla... COCOL SQL 1 17-03-2005 08:52:13
No depurar ciertas units marto Varios 3 22-06-2004 18:09:38
tablas de paradox a interbase Giniromero Conexión con bases de datos 2 22-05-2003 16:56:30


La franja horaria es GMT +2. Ahora son las 00:20: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