| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 06:58:26
|
Dayvson Clauber
JavaBaby
![[Avatar]](/images/avatar/406e64433fda9499dd440.jpg)
Membro desde: 04/09/2002 17:04:35
Mensagens: 82
Offline
|
Caros amigos , to com um pequeno probleminha num bd interbase.
Eh o seguinte, tenho um bd em interbase q tem a seguinte estrutura:
id creditos historico
Onde ha varios registros em duplicidades, por erro de operacao de algum "bom" usuario..Sabem como eh..
Bem, estou tentando imaginar uma query no sql ANSI, onde eu possa eliminar todos os registros em duplicidades,
mas vejam bem..nao eh eliminar todos os registros, e apenas o clone deles.
Pois tamos com a seguinte situacao (exemplo):
id creditos historico
001 200 Bonus Jul/03
001 200 Bonus Jul/03
002 100 Bonus Jun/03
002 100 Bonus Jun/03
002 200 Bonus Jul/03
002 200 Bonus Jul/03
003 300 Bonus Jun/03
003 300 Bonus Out/02
003 300 Bonus Out/02
Ou seja, ha variacao de meses divergentes pessoal.. Isso que ta complicando mais a situacao, eu gostaria que
vcs pudessem me ajudar (Principalmente os feras de SQL daki do GUJ) onde eu viabilize uma maneira de retirar
os "clones".
Espero que possam me ajudar, pois no lugar onde to, n tem recurso de nada galera.. to aki em plena Luanda-Angola.. pense numa ilha para nos que n vivemos sem net, livros e etc... aff...
To contando com a colaboracao e compreensao de vcs...
1 gde abraco e te +
Dayvson Clauber!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 07:24:07
|
Daniel Quirino Oliveira
Moderador
![[Avatar]](/images/avatar/846c260d715e5b854ffad5f70a516c88.png)
Membro desde: 23/03/2003 23:57:34
Mensagens: 3299
Localização: Awawawawa (Araraquara) - SP
Offline
|
Primeiro: crie uma tabela decente, em que tenha uma chave-primária. Assim você evita duplicidade de dados.
Em segundo, sobre o SQL para remover os dados tente isso (não testei):
onde <tabela> é, naturalmente, o nome da sua tabela.
|
Daniel Quirino Oliveira |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 07:41:04
|
Dayvson Clauber
JavaBaby
![[Avatar]](/images/avatar/406e64433fda9499dd440.jpg)
Membro desde: 04/09/2002 17:04:35
Mensagens: 82
Offline
|
Hoje parece q eh meu dia de sorte.. vejam so agora o q ta acontecendo comigo qdo tento atraves do SQL Explorer acessar o maldito banco
Unknown database.
internal gds software consistency check(cannot find tip page(165))
Alias : NEWCONS
Alguem q trabalhe ai com delphi/interbase pode me esclarecer o pq disso??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 07:54:39
|
edurezende
Thread.start()
![[Avatar]](/images/avatar/c88c8743406af39baa8d3.jpg)
Membro desde: 17/10/2003 08:01:28
Mensagens: 28
Offline
|
Dentro do diretorio do interbase na pasta /bin tem o gbfix, ele vai tentar reparar teu banco.
Uma dica, se vc estiver usando o intebase 6.x entre no site da ibphoenix.com e baixe o firebird, já corrigiram muitos problemas encontrados no interbase 6.x.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 07:57:41
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline
|
acho que não é este o problema, parece que o banco foi feito em interbase 6/firebird e tu ta tentando abrir ele com o SQL Explorer/cliente da borland do interbase 5, ai o troço não funciona de geito nenhum
tenta baixar o IBO Console que é certeza que funciona
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 08:04:25
|
Dayvson Clauber
JavaBaby
![[Avatar]](/images/avatar/406e64433fda9499dd440.jpg)
Membro desde: 04/09/2002 17:04:35
Mensagens: 82
Offline
|
Oh urubatan meu caro.. vc pode me passar o link de onde eu posso baixar esse tal d IBO Console.. e ele funciona da mesma forma que o SQL Explorer??
Outra coisa, eu to com tudo instalado da Versao 6 do delphi aki,... agora a makina onde esse bd foi feito eh q tudo eh versao 5 do delphi..isso tbm pode influenciar??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 08:07:48
|
Dayvson Clauber
JavaBaby
![[Avatar]](/images/avatar/406e64433fda9499dd440.jpg)
Membro desde: 04/09/2002 17:04:35
Mensagens: 82
Offline
|
Outra coisa, tem nem como eu pensar em download aqui.. pois to numa empresa que usa conexao dial up... to aki em luanda, angola bicho.. ai ja viu.. imagina fazerf downloaddesas paadas...
Vamos ver como vai ser essa bronca..sem contar q a pressao ta demais em cima do setor nosso aki na informatica..
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 08:38:50
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline
|
o IBO Console pode baixar de
http://www.mengoni.it/downloads.html
são uns 3 mega mais ou menos
outra coisa, se não me engano o IB 6 não abre direto o banco do IB5 também, tem que fazer um backup no IB5 e restaurar no IB 6 (o arquivo de backup ele abre sem problema nenhum
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 11:13:25
|
anjomal
JavaEvangelist
![[Avatar]](/images/avatar/25b2822c2f5a3230abfadd476e8b04c9.jpg)
Membro desde: 12/12/2002 16:50:25
Mensagens: 362
Localização: Luanda/Angola
Offline
|
Uma otima ferramenta com varias features, sourceforge.net/projects/gmarathon, deve resolver seus problemas !!!
falow !!!
|
Anjo Mal é William Jammes de Oliveira
Somos oque repetidamente fazemos. A excelência, portanto, não é um feito. mas um hábito.
Aristóteles
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 11:43:26
|
rfpsatin
JavaTeenager
Membro desde: 29/04/2003 11:44:02
Mensagens: 199
Offline
|
Deixa ver se entendi..
vc tem
campo1, campo2, campo3
1 2 122
1 2 122
e vc quer eliminar uma das 2 linhas de modo que fique apenas
campo1, campo2, campo3
1 2 122
????
bem, se for isso, a forma q o coloca fez o sql acho q não funciona
delete from <tabela> where id not in (select distinct(id) from <tabela>
pois sempre ira haver e por isso não elimina.
Eu não sei resolver isto no Interbase.
se alguém souber, fale ae...
tive um problema deste num teste de inserção com 800 000 registros e mesmo tendo PK ele deixou repetir. Bem, no oracle há uma forma fácil de resolver isto.
o oracle permite vc criar uma tabela com base noutra.
assim, é só vc fazer
create table <novatabela> as
select * from <tabelaantiga>
having count(id)=0
por exemplo.
contudo o interbase não aceita este tipo de sintaxi.
Se alguém souber como criar uma tabela apartir de outra....
resolve fácil o problema.
|
"todavia para nós há um só Deus, o Pai, de quem são todas as coisas e para quem nós vivemos; e um só Senhor,
Jesus Cristo, pelo qual existem todas as coisas, e por ele nós também." - Paulo - 1 Coríntios 8:6 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 11:45:47
|
Dayvson Clauber
JavaBaby
![[Avatar]](/images/avatar/406e64433fda9499dd440.jpg)
Membro desde: 04/09/2002 17:04:35
Mensagens: 82
Offline
|
Ae pessoal ainda to com esse problema, Aproveitando toda essa confusao.. eu gostaria de saber se alguem aqui pode me indicar uma ferramenta onde eu possa extrair algum .txt da vida de um .gdb
Estou precisando disso de forma urgentissima...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 11:47:39
|
Dayvson Clauber
JavaBaby
![[Avatar]](/images/avatar/406e64433fda9499dd440.jpg)
Membro desde: 04/09/2002 17:04:35
Mensagens: 82
Offline
|
Ae pessoal ainda to com esse problema, Aproveitando toda essa confusao.. eu gostaria de saber se alguem aqui pode me indicar uma ferramenta onde eu possa extrair algum .txt da vida de um .gdb
Estou precisando disso de forma urgentissima...
E eu nao sabia que era tao ruim de migrar as coisas do delphi 5 pro 6..viji...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 11:51:39
|
rfpsatin
JavaTeenager
Membro desde: 29/04/2003 11:44:02
Mensagens: 199
Offline
|
da uma olhada em
www.clubedelphi.com.br
www.firebase.com.br
|
"todavia para nós há um só Deus, o Pai, de quem são todas as coisas e para quem nós vivemos; e um só Senhor,
Jesus Cristo, pelo qual existem todas as coisas, e por ele nós também." - Paulo - 1 Coríntios 8:6 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 14:47:30
|
rfpsatin
JavaTeenager
Membro desde: 29/04/2003 11:44:02
Mensagens: 199
Offline
|
Voltando ao delete, até onde sei o interbase não tem nenhuma clausula q vc possa usar. O oracle tem o rowid q permite isso agora o IB nao tem , q eu saiba.
agora, vc pode usar uma stored procedure p/ fazer isso.
faz nela um select, joga os dados em variaveis, abaixo vc mata os repetidos q vc armazenou acima e depois vc grava eles, 1 só x.
tudo numa storedprocedure só
|
"todavia para nós há um só Deus, o Pai, de quem são todas as coisas e para quem nós vivemos; e um só Senhor,
Jesus Cristo, pelo qual existem todas as coisas, e por ele nós também." - Paulo - 1 Coríntios 8:6 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/10/2003 16:22:38
|
wagnerps
JavaChild
![[Avatar]](/images/avatar/c8cf299e3f4e5ad4ae700.gif)
Membro desde: 16/05/2003 08:12:22
Mensagens: 109
Localização: Sumaré - SP
Offline
|
como o rfpsatin falou
no seu gdb cria uma nova tabela
ai vc faz assim
Espero que ajude.
|
|
|
 |
|
|