[firebase-br] Delete em cascata usando SQL

Francisco Thiago Almeida jeandeadlucky em yahoo.com.br
Sex Out 8 13:54:12 -03 2004


Pelo detalhe que está no final da mensagem:
 
"Neste caso, o que acontece no BDE? (isso mesmo, 
BDExPiradox) A consulta
com o Exists nao deveria ser mais veloz? Vocês acham 
que rolar tabela seria
mais rápido? Existe uma forma de otimizar este 
consulta?"
Infelizmente este projeto ainda não está no IB/FB e sim em paradox


Marcilio Soares <marcilio.soares em brfree.com.br> wrote:
porque vc nao manda o IB fazer isso pra vc nas relacoes FK e PK do banco ?

----- Original Message ----- 
From: "Francisco Thiago Almeida" 
To: "FireBase" 

Sent: Friday, October 08, 2004 11:07 AM
Subject: [firebase-br] Delete em cascata usando SQL


>
> Caros amigos,
>
> O meu colega de servico tem de fazer um delete em cascata com a seguinte
estrutura (pais acima, filhos abaixo. Todas as relacoes sao NxN)
>
> Loteamento (este será o excluido)
> Lote
> VendaLote
> Parcela | Comprador | Transferencia
> Transferido
>
> Como a cascata até transferido é a maior, nós comecamos o teste com ela e
usamos o SQL:
>
> DELETE FROM TRANSFERIDO TRS
> WHERE IN (
> SELECT T.CODIGO
> FROM TRANFERENCIA T
> WHERE IN (
> SELECT VL.CODIGO
> FROM VENDALOTE L
> WHERE IN (
> SELECT L.CODIGO
> FROM LOTE L
> WHERE LOTEAMENTO = 16
> )
> )
> )
> E demorou muito pra executar!!! (E não existem registros na tabela de
Transferido. Para tentar solucionar tentamos outro SQL:
>
> DELETE FROM TRANSFERIDO TRS
> WHERE EXISTS (
> SELECT T.CODIGO
> FROM TRANFERENCIA T
> WHERE EXISTS (
> SELECT VL.CODIGO
> FROM VENDALOTE L
> WHERE EXISTS (
> SELECT L.CODIGO
> FROM LOTE L
> WHERE LOTEAMENTO = 16
> AND VL.LOTE = L.CODIGO
> )
> )
> )
> Este sequer chegou ao fim de sua execução.
>
> Neste caso, o que acontece no BDE? (isso mesmo, BDExPiradox) A consulta
com o Exists nao deveria ser mais veloz? Vocês acham que rolar tabela seria
mais rápido? Existe uma forma de otimizar este consulta?
>
>
>
> Obrigado
>
>
>
>
>
> -----------------------------------------------
> Francisco Thiago de Almeida
> MRL Consultoria em Informática
> Divisão Desenvolvimento e Banco de Dados
> Franca/SP
>
> ---------------------------------
> Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
> ______________________________________________
> FireBase-BR (www.firebase.com.br)
> Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
>



______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br


-----------------------------------------------
Francisco Thiago de Almeida         
MRL Consultoria em Informática    
Divisão Desenvolvimento e Banco de Dados
Franca/SP
		
---------------------------------
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!


Mais detalhes sobre a lista de discussão lista