[firebase-br] Problema ao criar PK
Henrique Netzka (Vetor Sistemas)
henrique em vetorsistemas.com.br
Qua Out 18 14:32:07 -03 2006
Já tentaste jogar para uma outra tabela (já que não tem temporária, uma fixa
mesmo! rs) os codigos do registro a excluir, e depois excluir baseado no
select em outra tabela (e não nela mesma)?
Outra coisa que podes tentar é montar os comandos SQL separados, um a um, e
executá-los em forma de script.. do tipo:
select
"DELETE FROM c2h_cll WHERE Cod = " || min(cod) || ";"
from
c2h_cll
group by
referencia, mesano
having
count(referencia) > 1 and
count(mesano) > 1
Depois exporta o resultado pra um txt da vida, copia as linhas e cola no
IBOConsole rs... Mas acho que usar uma segunda tabela é mais legal, mesmo
que o FB não suporte tabelas temporárias [ainda]...
----- Original Message -----
From: "Fernando Reis Guimarães" <fernandobhz em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, October 18, 2006 2:09 PM
Subject: Re: [firebase-br] Problema ao criar PK
Bom to tentando criar um indice composto UNIQUE e preciso deletar os
registros duplicados e to tentanto fazer assim so que ta demorando d+,
tabela tem 2,4 milhoes de registros...
delete from c2h_cll where cod in (
select min(cod)
from c2h_cll
group by referencia, mesano
having count(referencia) > 1 and count(mesano) > 1
)
existe outro meio mais facil?
2006/10/18, Eduardo Jedliczka (TeamFB) <jedyfb em gmail.com>:
>
> do ponto de vista do desempenho ou estrutural não há diferenças... POIS
> uma
> PK é um índice único. (independende de ser composto ou não)
>
> A única diferença é que se houver tabelas que dependam desta (foreign
> key),
> tem que usar uma PK. (em teoria não, mas é o que acontece na prática)
>
> ======================
> Eduardo Jedliczka
> Membro do TeamFB - FireBase
> Apucarana - PR
> ======================
> "Posso não concordar com nada do que dizes.
> Mas defenderei até a morte o seu direito de dizê-lo"
> (Voltaire 1694-1778)
> ----- Original Message -----
> From: "Fernando Reis Guimarães" <fernandobhz em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Wednesday, October 18, 2006 9:40 AM
> Subject: Re: [firebase-br] Problema ao criar PK
>
>
> Valew...
>
> E qual a diferença entre uma pk composta e um indice unique composto?
>
>
>
> 2006/10/18, Jeferson Oliveira <jefersonfoliveira em gmail.com>:
> >
> > Fernando Reis Guimarães escreveu:
> > > pk composta? que isso?
> >
> > Refere-se a chaves primárias formadas por mais de um campo.
> >
> >
> > > como funciona? tem algum artigo?
> >
> > O valor dos campos que compõem a chave é analisado em conjunto, e é
> > permitido que um ou mais campos tenham valores repetidos em mais de um
> > registro, desde que a sequência de valores não se repita.
> > Exemplo PK com dois campos:
> > Registro Campo1 Campo2
> > 1 A A
> > 2 A B - >
> > 3 A A -> Violação de chave primária.
> >
> >
> > Abraço!
> > Jeferson Oliveira
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para editar sua configuração na lista, use o endereço
> > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
>
>
>
> --
> Atenciosamente;
> Fernando.
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
--
Atenciosamente;
Fernando.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista