Cannot drop the table

SQL

05/09/2005

Galera, crio uma tabela temporaria em tempo de execusão e estou tendo o seguinte erro ao tentar ´dropa-la´:

Cannot drop the table ´TB´, because it doesn´t exist in the system catalogs

Vi alguma coisa na internet sobre o assunto, mas não entendi direito:

http://www.roguewave.com/support/docs/hppdocs/dbtug/5-5.html
http://www.object-craft.com.au/pipermail/python-sybase/2003-December/000202.html
http://lists.ibiblio.org/pipermail/freetds/2003q2/012643.html
http://www.roguewave.com/support/docs/sourcepro/dbcoreug/6-5.html

Alguém sabe o que pode ser e o que tenho que fazer?

Grato!

[color=green:4a9a1219bd]Movido de Delphi para Bancos de Dados[/color:4a9a1219bd]


Peununes

Peununes

Curtidas 0

Respostas

Rjun

Rjun

05/09/2005

Que banco você esta utilizando para criar essa tabela em tempo de [b:5967bf87b1]EXECUÇÃO[/b:5967bf87b1]?


GOSTEI 0
Peununes

Peununes

05/09/2005

Pô, Rogério! Podia ter deixado o português de lado, né? Valeu pela ´corresão´! :)

uso o Sybase!


GOSTEI 0
Rjun

Rjun

05/09/2005

Pelo que pude entender, a tabela temporária não está no catálogo do seu banco de dados. Imagino que ela deva guardar somente as tabelas fisicas. Qual comando você esta usando para apagar a tabela temporária?


GOSTEI 0
Peununes

Peununes

05/09/2005

Drop Table TBNomeTabela


GOSTEI 0
Martins

Martins

05/09/2005

Pô, Rogério! Podia ter deixado o português de lado, né? Valeu pela ´corresão´! :) uso o Sybase!


A correção ficou bacana, agora vamos a tabela temporaria, sua base é SYBASE?

vc cria a tabela normalmente e para dropar, como vc tá fazendo?

parecido com isso:
DROP DATABASE @VendasPrazo

ou não tem nada a ver, hehehe!!!!


GOSTEI 0
Rjun

Rjun

05/09/2005

Eu não entendo de SYBASE, mas dei uma pesquisada, e a tabela temporária deve vir precedida do ´#´. Então para dar um drop, deve ser assim:

drop table TBNomeTabela



GOSTEI 0
Peununes

Peununes

05/09/2005

Rogério, está com o ´jogo da velha´ antes do nome da tabela sim, eu apenas não coloquei no exemplo.


GOSTEI 0
Peununes

Peununes

05/09/2005

Vixi! A gente não estava no fórum do Delphi!?!?!? Como a gente veio parar aqui?!!?!? :D


GOSTEI 0
Rjun

Rjun

05/09/2005

Você pode postar o código do momento em que você cria a tabela até o momento em que você ´dropa´.


GOSTEI 0
Peununes

Peununes

05/09/2005

Não entendi...


GOSTEI 0
Rjun

Rjun

05/09/2005

Como assim, não entendeu? Você deve estar criando essa tabela temporária em algum momento, via código. Então, poste o trecho de código onde você cria até o trecho de código onde você exclui a tabela.


GOSTEI 0
Peununes

Peununes

05/09/2005

Ô rogério, é que vc não colocou a interrogação no final da sua frase...
Estou fazendo manutenção em um sistema, ok? Então o código não foi feito por mim...
O desenvolvedor anterior fez o seguinte, num objeto TQuery ele escreveu na propriedade SQL:

create table #temp_evento(dat_evento datetime null,
cod_tipo_evento integer null,
txt_tipo_evento char(40) null,
cod_tipo_evento_pai integer null,
txt_tipo_evento_pai char(40) null)

Create Table temp_principal (dat_evento datetime null,
cod_tipo_evento integer null,
txt_tipo_evento char(40) null,
cod_plano_contabil integer null,
ind_receb_pagto char(1) null,
cod_tipo_evento_pai integer null,
txt_tipo_evento_pai char(40) null)

Depois em outra TQuery ele insere daddos e em outra na propriedade SQL ele ´dropa´:

drop table #temp_evento
Drop Table temp_principal

Depois no código ele executa:

try
QryDelTemp.ExecSQL;
except end;

QryCriaTemp.ExecSQL;

Basicamente é isso...


GOSTEI 0
Rjun

Rjun

05/09/2005

Esse erro ocorre quando você esta rodando com o Delphi aberto? Com Delphi fechado o erro persiste?


GOSTEI 0
POSTAR