[firebase-br] Checar se tabela existe
Luciano R. Machado
luciano em rsys.com.br
Qui Set 23 15:32:30 -03 2004
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" <luciano em rsys.com.br> 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. :-(
>
Mais detalhes sobre a lista de discussão lista