[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