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

hpensador em gmail.com hpensador em gmail.com
Segunda Setembro 8 11:21:30 -03 2025


Bom dia, Carlos!

Tudo bem?

Na mensagem inicial preferi não citar o cenário (Firebird 5, Delphi 12.3,
Firedac)

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

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

    If FDQuery.FieldByName('coluna').value = valor then -> aqui diz que a
tabela MINHATABELA não 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élio Oliveira


-----Mensagem original-----
De: lista <lista-bounces em firebase.com.br> Em nome de Carlos H. Cantu via
lista
Enviada em: segunda-feira, 8 de setembro de 2025 09:03
Para: FireBase <lista em firebase.com.br>
Cc: Carlos H. Cantu <listas em warmboot.com.br>
Assunto: Re: [firebase-br] Criar/Consultar tabela dentro de uma transação

Poste a sequencia de comandos que vc está executando...

PS: Não se deve misturar comandos de DDL e DML na mesma transação.

[]s
Carlos H. Cantu
eBook Guia de Migração 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ário... preciso iniciar uma transação, logo 
hvl> após criar uma tabela (dentro de um método qualquer) e depois 
hvl> consultar a tabela criada anteriormente. Isto tudo dentro da mesma 
hvl> transação (StartTransaction/commit ou rollback).

hvl> Ao tentar fazer o descrito acima, após criar a tabela, na sequência 
hvl> consultar a mesma dentro de outro método recebo uma exceção de que 
hvl> a tabela não existe.

hvl>  

hvl> Não sei estou equivocado, mais até onde sei eu só não poderia 
hvl> consultar os dados desta tabela caso fosse em outra transação, isto 
hvl> até ser feito o commit da transação anterior que desta forma 
hvl> ficaria disponível para as demais transações.

hvl>  

hvl> [ ]’s.

hvl> Hélio 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=1107
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=1107
Para consultar mensagens antigas:
http://www.firebase.com.br/pesquisa_lista.html




Mais detalhes sobre a lista de discussão lista