[firebase-br] teste de existencia de tabela.

Carlos Clicio clicio em prognum.com.br
Seg Set 28 16:33:52 -03 2009


Grato pela atenção, mas preciso rodar dentro de um script sql via isql.

[]s

Rodrigo escreveu:
> Caro Amigo,
>
> Faço Isso meio no Braço, mas vamos lá derepente te ajuda:
>
> Dentro da IBQuery  IBTabela vai o seguinte script
> select Distinct(rdb$relation_name) from RDB$RELATIONS where 
> rdb$system_flag = 0 and Upper(rdb$relation_name) = Upper(:NOMETABELA)
>
>
> Crio uma Variavel Tem: Integer e uso um componente de Script;
>
> if TabEmpresaVERSAO.Value <= 1022 then begin
>     Memo1.Lines.Add('Atualização 1022');
>     IBTABELA.Close;
>     IBTABELA.ParamByName('nometabela').AsString:= 'GLOBRELCAIXA';
>     IBTABELA.Open;
>
>     ListBox1.Clear;
>     ListBox1.Items.Add(TRIM(FOrm1.IBTABELARDBRELATION_NAME.AsString));
>
>     Tem:= ListBox1.Items.IndexOf('GLOBRELCAIXA');
>
>     if Tem = -1 then begin
>
>     IBScript2.SQL.Clear;
>     IBScript2.SQL.Add('CREATE GLOBAL TEMPORARY TABLE GLOBRELCAIXA('+#13+
>     'HISTORICO VARCHAR(200),'+#13+
>     'VALOR NUMERIC(8,2),'+#13+
>     'DATA DATE,'+#13+
>     'DESPESA VARCHAR(100),'+#13+
>     'HORA TIME,' + #13 +
>     'NUMCONTA VARCHAR(30))' + #13 +
>     'ON COMMIT PRESERVE ROWS;');
>     IBScript2.Execute;
>
>     END;
>
>     // Aqui fecha a atualização'
>     TabEmpresa.Locate('CODEMPRESA', LISTA.ValueFromIndex[EMP], []);
>     TabEmpresa.Edit;
>     TabEmpresaVersao.Value:= 1023;
>     TabEmpresa.Post;
>     //aqui era
>     END;
>
> Nesse caso ele procura a tabela existente caso encontre, a variavel 
> TEM fica >-1 entao nao atualiza.
>
> Espero ter ajudado.
>
>
> Atenciosamente,
>
> Rodrigo
>
>
>
>
>
> ----- Original Message ----- From: "Carlos Clicio" 
> <clicio em prognum.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Friday, September 25, 2009 1:58 PM
> Subject: [firebase-br] teste de existencia de tabela.
>
>
>
>
> Caros amigos preciso fzr um script sql q altere a estrutura de
> determinada tabela caso ela existe e nao de erro caso contrario, algo
> como if exists TABELSE no mssql.
>
> Tem alguma coisa parecida no firebird?
>
> Grato pela atenção.
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> __________ NOD32 4458 (20090925) Information __________
>
> This message was checked by NOD32 antivirus system.
> http://www.eset.com
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa




Mais detalhes sobre a lista de discussão lista