Deletar tabela até uma data no SQL?

Preciso deletar uma tabela no banco até uma certa data. O que devo colocar em “DATA”, pois está dando erro digitando o comando abaixo:

DELETE TRELCOM WHERE DATA <'2016-01-01'

Creio que o erro seja a falta do from e não na data.

DELETE FROM TRELCOM WHERE DATA < ‘2016-01-01’

Olá Rodrigo.
Todas as tabelas TRELCOM existentes antes de 01/01/2016 precisam ser deletadas.
Preciso deletar a tabela TRELCOM (anterior a data) e não a coluna data.

Com ou sem o FROM retorna o erro abaixo:

Msg 207, Level 16, State 1, Line 1
Invalid column name ‘DATA’.

Como faço?

Não entendi muito bem, tu quer excluir as tabelas da tua database ou os registros dessa tabela trelcom? Porque se for os registros da tabela até uma certa data é como o amigo ali disse
DELETE FROM TRELCOM WHERE DATA < '2016-01-01'
Só tem que substituir esse DATA pelo nome da coluna referente a data.

Cuidado, realize o delete das informações antes da tabela TRELCOM, caso essa informação seja chave em outra tabela, será necessário relacionar com as tabelas subsequentes, se não as informações ficaram vazias na tabela.

Conforme abaixo, no chamado é solicitado para deletar todas as tabelas até a data.

"O senhor deve deletar todas as tabelas iniciadas com TREL até a data 31/12/2015.

  • Depois o senhor deve zerar o estoque a partir do dia 31/12/2015. "

Está dando erro ao regerar o estoque, então foi solicitado a exclusão das tabelas anterior a 2016.

Vou executar com as colunas que estiverem referente a data a cada tabela e testar então.

Boa tarde amigão, então para deletar a tabela(retirar a tabela do BD) o comando é DROP TABLE, já para excluir registros da tabela o comando é DELETE mesmo.

Do modo que está descrito aí no seu chamado ficou um pouco relativo se é para tirar de fato os registros ou a tabela do bd.

Certo.

Utilizei o DROP TABLE e retornei o chamado ontem e foi onde ele pediu para que fosse feita a exclusão até 2015.

A dúvida é como usar o DROP TABLE com a data?

Erika, não estou entendendo o seguinte, porque testar uma data se você vai excluir a tabela toda e sendo que o DROP TABLE você tem que especificar o nome da tabela que você deletar, basta você procurar que dia aquela tabela foi criada e fazer manualmente

Rodrigo…

Com o que o atendente colocou no chamado eu deletei a tabela toda. Então foi gerado novamente saldos e custos e deu um erro, retornamos ao chamado e ele nos informou a frase a seguir …

"O senhor deve deletar todas as tabelas iniciadas com TREL até a data 31/12/2015. Depois o senhor deve zerar o estoque a partir do dia 31/12/2015. "

Então eu não poderia deletar a tabela toda… Segundo o que ele pede, temos de deletar as tabelas (em específico) até 31/12/2015.

Acabei executando o delete de apenas duas tabelas (as únicas que continham informações) até a data informada usando o “DELETE TRELSLD WHERE DATAMOVIMENTO < '2016-01-01’
DELETE TRELSLDTERCEIROS WHERE DATAMOVIMENTO < ‘2016-01-01’”

Ele não gerou o erro, deu tudo certo, fechou estoque, custos … tudo ok, porém não integrou a movimentação.

Existe a possibilidade de deletar as tabelas até a data solicitada? com o DROP TABLE?

Deletar a tabela, quer dizer excluir totalmente a tabela do banco e todas as informacoes. Para fazer isso é usando DROP TABLE

Deletar os registros da tabela é remover os dados da tabela. Pra fazer isso é DELETE FROM , podendo ter um “where” e u ma condição

Não confunda as coisas e entenda o que o cliente quer e exlique o que vc quer tb

Igor,

Existe a possibilidade de deletar a tabela com o DROP TABLE até determinada data?

Como mencionei anteriormente já deletei a tabela com o DROP TABLE, porém foi retornado no chamado que não seria isso, o rapaz do chamado pediu para deletar a tabela até 31/12/2015 é isso que preciso.

E mencionei também que utilizei o DELETE FROM TABELA WHERE <01/01/2016 e que também não deu certo, pois não integrou a movimentação como deveria acontecer.

Você conseguiu entender o que está ocorrendo ou continuo te confundindo me explicando mal?

Eu acho que está ocorrendo um equivoco da sua parte, não é possível deletar uma parte de uma tabela, ou você deleta a tabela TODA com o DROP ou as informações contidas nela (deixando ela sem dado algum ou parte desses dados) com o DELETE.

Você deve fazer com o comando DELETE tabela WHERE campodata < ‘2016-01-01’ (Ele deleta informações, dados de uma tabela, não a tabela em si).

Explique melhor essa parte de “não integrou a movimentação”, seria outra tabela que existe um foreign key para ela?

Eu acho que está ocorrendo um equivoco da sua parte, não é possível deletar uma parte de uma tabela, ou você deleta a tabela TODA com o DROP ou as informações contidas nela (deixando ela sem dado algum ou parte desses dados) com o DELETE.

Rodrigo, bom dia!
Isso que eu precisava confirmar.
Quando foi solicitado deletar a tabela, utilizei o DROP TABLE, porém o cara do chamado da TOTVS disse que era para deletar a tabela até a tal data, foi onde fiquei na dúvida se haveria a possibilidade de deletar a tabela até tal período como ele solicitou. Foi aí que pedi ajuda.

Quanto ao dados da tabela, fiz o delete porém o rapaz da contabilidade que executou o processo disse que não integrou. Retornamos o chamado para a TOTVS e estamos aguardando, agora é depender do que eles irão retornar.

Minha dúvida era mesmo em como deletar uma tabela até certa data … e como mencionou ali, não existe a possibilidade.

Obrigada!

Nao precisa levar ao pé da letra no que está escrito no chamado. Eu acredito muito que qdo ele pediu “Deletar a tabela ate a data X”, ele quis dizer deletar os registros dessa tabela até a data X.

Note que quando vc vai deltar certos registros e eles possuem dependencias de outras tabelas, esses outros registros devem ser excluidos ou inativados também. Ex: Não faz sentido remover um tópico desse fórum e deixar de remover os comentários que foram feitos desse tópico, pois os comentários ficariam “flutuantes”, pensando que Topico é uma tabela e Comentário é outra tabela e eles possuem uma relacao 1 - N, respectivamente. Entende?

Entendi Igor.

Realmente levei o que o rapaz falou ao pé da letra por não ter conhecimento em SQL, só de fuçar em algumas coisas e executo alguns comandos mais simples ou de select normalmente.
Faço a parte de redes da empresa e estou tentando ajudar o rapaz da contabilidade nisso para agilizar o lado dele. E por não ser dessa área perguntei aqui para poder conseguir um auxílio, pois não estava conseguindo achar nada concreto pesquisando.

Obrigada pela ajuda de todos.