[firebase-br] RES: Criar/Consultar tabela den tro de uma transação

hpensador--- via lista <[email protected]> Mon, 8 Sep 2025 11:21:30 -0300
Newsgroups gmane.comp.db.firebase.portuguese
Message-ID <!&!AAAAAAAAAAAYAAAAAAAAAKw9ifolwp1CsVsOmZnPc/[email protected]>
Bom dia, Carlos!

Tudo bem?

Na mensagem inicial preferi n=E3o citar o cen=E1rio (Firebird 5, Delphi 12.=
3,
Firedac)

FDConnection.Options.AutoCommit :=3D False;
FDQuery.Connection :=3D FDConnection;
if not FDQuery.Connection.InTransaction then
    FDQuery.Connection.StarTrasaction;
try
    FDQuery.Close;
    FDQuery.SQL.Text :=3D 'Create table MINHATABELA ....';
    FDQuery.ExecSQL;

    FDQuery.close;
    FDQuery.SQL.Text :=3D 'Select * from MINHATABELA';
    FDQuery.open;

    If FDQuery.FieldByName('coluna').value =3D valor then -> aqui diz que a
tabela MINHATABELA n=E3o existe
    begin
         Executa o bloco de comandos
    End; =

    FDQuery.Connection.Commit;
Except
  On e : exception do
  Begin
      FDQuery.Connection.Rollback;
      Raise exception.....
  End;
End;

[ ]'s,
H=E9lio Oliveira


-----Mensagem original-----
De: lista <[email protected]> Em nome de Carlos H. Cantu via
lista
Enviada em: segunda-feira, 8 de setembro de 2025 09:03
Para: FireBase <[email protected]>
Cc: Carlos H. Cantu <[email protected]>
Assunto: Re: [firebase-br] Criar/Consultar tabela dentro de uma transa=E7=
=E3o

Poste a sequencia de comandos que vc est=E1 executando...

PS: N=E3o se deve misturar comandos de DDL e DML na mesma transa=E7=E3o.

[]s
Carlos H. Cantu
eBook Guia de Migra=E7=E3o para o FB 5 - www.firebase.com.br/guiafb5.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

hvl> Boa noite, Colegas!

hvl>  =


hvl> Tenho o seguinte cen=E1rio... preciso iniciar uma transa=E7=E3o, logo =

hvl> ap=F3s criar uma tabela (dentro de um m=E9todo qualquer) e depois =

hvl> consultar a tabela criada anteriormente. Isto tudo dentro da mesma =

hvl> transa=E7=E3o (StartTransaction/commit ou rollback).

hvl> Ao tentar fazer o descrito acima, ap=F3s criar a tabela, na sequ=EAnci=
a =

hvl> consultar a mesma dentro de outro m=E9todo recebo uma exce=E7=E3o de q=
ue =

hvl> a tabela n=E3o existe.

hvl>  =


hvl> N=E3o sei estou equivocado, mais at=E9 onde sei eu s=F3 n=E3o poderia =

hvl> consultar os dados desta tabela caso fosse em outra transa=E7=E3o, ist=
o =

hvl> at=E9 ser feito o commit da transa=E7=E3o anterior que desta forma =

hvl> ficaria dispon=EDvel para as demais transa=E7=F5es.

hvl>  =


hvl> [ ]=92s.

hvl> H=E9lio Oliveira

hvl> ______________________________________________
hvl> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br =

hvl> Para saber como gerenciar/excluir seu cadastro na lista, use:
hvl> http://www.firebase.com.br/fb/artigo.php?id=3D1107
hvl> Para consultar mensagens antigas: =

hvl> http://www.firebase.com.br/pesquisa_lista.html


______________________________________________
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=3D1107
Para consultar mensagens antigas:
http://www.firebase.com.br/pesquisa_lista.html


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.fi=
rebase.com.br/fb/artigo.php?id=3D1107
Para consultar mensagens antigas: http://www.firebase.com.br/pesquisa_lista=
.html