[firebase-br] Checar se tabela existe

Joao de Lima jomello_fire em yahoo.com.br
Qui Set 23 15:42:09 -03 2004


Bom Luciano,
É o seguinte controle de versão em Delphi faço assim:
 
Guardo em uma tabela as informações do EXE, tipo tamanho,data, etc ai no "programa" de instalação verifico se o EXE que estou instalando é o mesmo se não disparo todo o processo de atualização tipo mudar arqs. INI sobrepor o arquivo EXE e por ai vai.
Bom como no seu caso vc tb precisa disparar um SCRIPT se vc puder colocar todo esse processo dentro de uma procedure é só dispara-la :-)
Ou então usar uma das soluções abaixo :-)
 
Uma pergunta o seu programa é Client/Server ou 3 camadas?
 
Abraços espero ter ajudado
 
    João 
 
OBS: Normalmente não utilizo programas tipo INSTALL SHIELD, prefiro sempre "criar" o meu proprio instalador justamente para ter mais controle sobre a instalação.

"Luciano R. Machado" <luciano em rsys.com.br> wrote:
Olá João,

Concordo com sua solução ;-)
Só que não disse em qual contexto preciso fazer isso.
Seria para um aplicativo de atualização de versão, onde as
alterações no metadata são executadas todas via um único
script.sql

Então esse aplicativo teria que fazer o "serviço" sozinho,
daí a necessidade de se considerar a existência da tabela de
dentro do script. O aplicativo é o mesmo para todas as versões,
antigas e futuras.

De qualquer forma obrigado pela solução abaixo, tem algumas
idéias que achei interessante. ;-)

Obrigado.

-- 
Luciano Rodrigues Machado
Programador - Ribeirão Preto-SP

Joao de Lima wrote:

> Olha só talvez eu fale um monte de asneiras ou não :-) então vamos lá:
> 
> 1º. - Bom imagino que o usuario logado que vai fazer as alterações tenha direitos pra fazer tudo isso :-)
> 
> 2º - Se voce tem o nome da tabela, verifique se ela existe atraves do SELECT abaixo
> 
> 3º - Crie um procedure e/ou function que receba o nome da tabela e faça todo o processo de DELETAR e CRIAR novamente
> 
> Olha só as vezes faço uns truquizinhos (que não sei se é o certo) que funciona:
> 
> Faço todo o processo no IBExpert via SQL ai monto esses comandos no JSP e mando pro banco funciona que é uma maravilha, claro que para algumas situações, normalmente trabalho sempre com procedures, functions e triggers :-)
> 
> Tem tb na pior das situações se vc esta com o Delphi de disparar o isql chamando o SCRIPT para executar todo o processo.
> 
> Bom espero ter ajudado ou só complicado talvez :-)
> 
> Abraços
> 
> João
> 
> Coloquei a sua outra resposta tb ok amigo :-)
> 
> Olá João,
> 
> Realmente existe, mas o problema é que não se pode usar, por
> exemplo, um "if exists (select..." dentro de um script como
> se faz em uma procedure. Então se for executado um Create Table
> de uma tabela que já existe dá erro.
> 
> Na verdade cometi um erro na pergunta, seria preciso apagar a
> tabela caso ela já exista.
> 
> Valeu!
> 
> 
> "Luciano R. Machado" wrote:Olá Anderson,
> 
> O que preciso é fazer essa verificação dentro de um script.sql,
> infelizmente não tenho como usar um componente para isso. :-(
> 



______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br

		
---------------------------------
Yahoo! Messenger 6.0 - jogos, emoticons sonoros e muita diversão. Instale agora!


Mais detalhes sobre a lista de discussão lista