Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   ¿como eliminar registro de tablas en firebird? (https://www.clubdelphi.com/foros/showthread.php?t=69993)

JXJ 23-09-2010 21:13:43

¿como eliminar registro de tablas en firebird?
 
una duda bien tonta.

tengo una tabla

clientes
con los datos

nombre
telefono
email
sitioweb
direccion
codigopostal
eliminar

el campo eliminar lo pongo a S y el cliente lo quiero eliminar
de la tabla por que ya no es mi cliente.
o por cualquier razon.

¿como puedo eliminar el cliente marcado con Eliminar = S ?

son varios clientes y lo quiero hacer po sentencia SQL
desde delphi con ibx

Caral 23-09-2010 21:22:59

Hola
Código SQL [-]
Delete from clientes where eliminar = 'S'
Saludos

jhonny 23-09-2010 21:26:18

Aunque debes tener en cuenta que si hay una llave foranea apuntando a la llave primaría de esa tabla y dicho cliente tiene movimiento... es natural que no te lo vaya a dejar eliminar. Pues los datos quedaría inconsistentes.

Caral 23-09-2010 21:28:55

Hola
Cierto, de todos modos, por si acaso con IB:
Código Delphi [-]
IBQuery1.SQL.Text := 'Delete from clientes where eliminar = ''S'' ';
IBQuery1.ExecSQL;
Saludos

marcoszorrilla 23-09-2010 21:52:09

Sería conveniente según se apunta consultar el detalle antes de intentar eliminar el registro para evitar la posible excepción de la clave externa.

Un Saludo.

Caral 23-09-2010 21:55:49

Hola
La verdad es que casi nadie o por lo menos yo no conozco a ninguna empresa que elimine clientes ya que tener esa referencia siempre es bueno.
Lo que yo hago es sencillo; Si no quiero que se me presenten todos los clientes en el form tengo un campo ACTIVO (S o N) si esta activo se presenta si no No, ademas tengo un boton para presentar todos, por si acaso.
Saludos

marcoszorrilla 23-09-2010 21:57:47

Otra opción es pasarlos a otra tabla HClientes, por ejemplo, si vuelven a comprar se les vuelve a la tabla Clientes.

Un Saludo.

jhonny 23-09-2010 22:10:18

Cita:

Empezado por marcoszorrilla (Mensaje 377328)
Sería conveniente según se apunta consultar el detalle antes de intentar eliminar el registro para evitar la posible excepción de la clave externa.

Un Saludo.

Y si se desea eliminar el cliente con todo y movimiento, se podrían utilziar las llaves en cascada.


La franja horaria es GMT +2. Ahora son las 00:21:15.

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