[firebase-br] Problema ao criar PK

Fernando Reis Guimarães fernandobhz em gmail.com
Qua Out 18 14:38:07 -03 2006


E ai henrique joia?...

Acho que vou utilizar outra tabela mesmo..

Mas me surgiu outra dúvida, depois das pk criadas como poderei falar pro
firebird assim:
continue copiando mesmo que aja erros pois o meu processo de importação é
via tabelas externas..
algo assim:

insert into tal,qual, to select tal,qual,to from tabelaexterna...

sei que poderia criar um procedure no banco para verificar antes se
existe...

mas alguem sabe se existe algo que faça-o continuar mesmo com erros de
duplicação de pk ou unique keys?

valew...

Em 18/10/06, Henrique Netzka (Vetor Sistemas) <henrique em vetorsistemas.com.br>
escreveu:
>
> 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
>
>
> ______________________________________________
> 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.



Mais detalhes sobre a lista de discussão lista