[firebase-br] teste de existencia de tabela.

Mário Reis mariodosreyx em gmail.com
Ter Set 29 06:23:24 -03 2009


Amigo,
Se bem percebi o s/problema V. não precisa de nada disto uma vez que as
Global Temporary Tables são uma espécia de Vista criada em cada momento
e para cada Transacção.
Nenhum dos outros utilizadores pode, ver e ou aceder aos dados
em processamento nessa mesma transacção.
Terá de ter em atenção, isso sim, se guarda "on commit" ou se "elimina"
as linhas depois do seu processamento.
Mário Reis

2009/9/28 Carlos Clicio <clicio em prognum.com.br>

> 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
>>
>
> ______________________________________________
> 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
>



-- 
C/Melhores cumprimentos
Mário Agostinho Reis

Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.



Mais detalhes sobre a lista de discussão lista