Sql e FireBird

25/03/2006

Estou usando FireBird Embarcado e preencho uma tabela com dados de um arquivo HTM e repasso para um StringGrid.
O StringGrid fica com +- 2000 linhas,até aí tudo bem mas gostaria de saber qual comando Sql poderia usar para apagar essa tabela para preenche-la denovo,porque esse arquivo é atualizado semanalmente e acrescido uma linha ou mais dependendo do tempo sem atualizar,não tem como eu saber qual seria a ´próxima´ linha ser acrescentada( uma ou mais),então pensei em cada vez que atualizar,apagar tudo e preencher denovo.
Alguma sugestão?
Uso Zeos+Firebird+Delphi7.


Kroki

Respostas

25/03/2006

Vinicius2k

Colega,

Simplesmente deletar todos os registros?
Se sim,
DELETE * FROM <TABELA>



Responder Citar

25/03/2006

Kroki

Não sei se é por causa do componente que uso(Zeos),mas se eu usar assim,da erro sql,então tenho que fazer assim;
...
Append(´Delete From MEGASENA Where´);
Append(´N1 <> 200´ );
...
No meu caso ,não tem como ´N1´ ser igual a 200 porque o maior número aceitavel é 60.
Não consigo usar ´Delete * From ...´.


Responder Citar

25/03/2006

Vinicius2k

Colega,

Pelo que você descreve, deve haver alguma relação com a camada de acesso, mas como não uso Zeos, não posso lhe ajudar especificamente com ela.
É, no mínimo, estranho ele sempre lhe obrigar a ter a cláusula WHERE em sua instrução...


Responder Citar

25/03/2006

Kroki

É ,não tenho muita experiencia com banco de dados então estou usando desse jeito que achei na net.
Mas,existe algum problema em esvaziar a tabela desse jeito para preencher denovo?


Responder Citar

25/03/2006

Vinicius2k

Não. Da forma como você descreveu a situação, nenhum problema.
Apenas sugiro que você tente estudar um pouco sobre o Zeos e tente identificar se você está realizando o procedimento correto, pois a lógica é que você pudesse utilizar apenas ´DELETE * FROM <TABELA>´.


Responder Citar

25/03/2006

Kroki

Vou dar uma pesquisada,interessante é que ´SELECT * FROM ...´aceita,mas ´DELETE * FROM ...´ da erro de ´token´ em ´*´.


Responder Citar

27/03/2006

Gandalf.nho

Vou dar uma pesquisada,interessante é que ´SELECT * FROM ...´aceita,mas ´DELETE * FROM ...´ da erro de ´token´ em ´*´.

Não use DELETE * FROM... e sim DELETE FROM..., não se usa o asterisco no DELETE.


Responder Citar

28/03/2006

Vinicius2k

Afe... nem percebi a falha horrorosa... :oops:
Desculpe...


Responder Citar