Apagar só alguns

Firebird

28/08/2003

Olá pe... pepesoal (como diz o Gaguinho do Pernalonga).

Tenho uma tabela MOVIMENTO e uma CLIENTES, só que num select DITINCT dado na movimento ví que só 500 clientes compraram nos ultimos 5 anos.
A questão é: tenho 6500 clientes cadastrados, como faço um delete from
na tabela clientes que EXTERMINE somente os que não compraram, para enxugar minha tabela?

renaldosantos@veloxmail.com.br

Obrigado
Renaldo


Renaldo

Renaldo

Curtidas 0

Respostas

Durvalcastro

Durvalcastro

28/08/2003

Tente este comando:

Delete from cliente
where codigo_cliente not in (select distinct codigo_cliente from movimento)


GOSTEI 0
Afarias

Afarias

28/08/2003

Pelo menos faça um ´backup´ dos dados antes...

Se eu fosse o dono da loja demitiria imediatamente qualquer um que apagasse qualquer informação histórica do meu banco (principalmente meus clientes) :lol:


T+


GOSTEI 0
Renaldo

Renaldo

28/08/2003

afarias,

O cliente que está querendo que eu apague, muitos dos clientes nem existem mais, e o poir é que o software foi feito por um amigo, eu tenho os fontes, mas demora 4 minutos para carregar o sistema.
Nossa intenção é diminuir o banco para abrir mais rápido.
O pc é um K6II 450, o sistema é delphi7 e o banco Interbbase, o componente usado foi o dbExpress.
Eu uso o ibDatabase, e também estou encontrando perda de velocidade.

Ele não vai me demitir!!!


Valeu.


GOSTEI 0
Afarias

Afarias

28/08/2003

|Ele não vai me demitir!!!

hahahahahahaha... beleza!! :wink:


Olha, só aproveitando... (para este ou outros sistemas futuros q vc venha a desenvolver) ...6500 registros para um SGBDR (como o IB) é praticamente nada.

Se o sistema está lento é pq seu ´projeto´ não está adequado (por ex: uso de algum componente TABLE não é adequado a sistemas C/S) -- portanto, procure sempre estar atento as ´boas práticas´ de programação C/S para evitar problemas de performance em seus sistemas.


T+


GOSTEI 0
POSTAR