No sybase que é o que to trabalhando atualmente não, não importa se o create
é em tabela normal ou temporária, o comando DDL create é que não pode ser
usado dentro de uma transação, a tabela temporária continua sendo uma
tabela, só é criada em outro database



----------------------

Rodrigo Othávio Farias 

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Julio Cesar
Enviada em: segunda-feira, 31 de julho de 2006 13:52
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Mistério CONTINUA na Transação com FB.

nao sei se vc pode misturar outros comandos com DDL sem ter q dar um commit
na transacao...



Julio Cesar
[EMAIL PROTECTED]
+353 (87) 2184139
+353 (091) 630317


  ----- Original Message ----- 
  From: José Otavio DTI 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, July 31, 2006 2:07 PM
  Subject: Re: [delphi-br] Mistério CONTINUA na Transação com FB.


  Eu sei q isso funciona
  Mas eu pergunto agora.... pra que serve essa droga de processo com
transacoes se eu nao posso criar uma tabela, inserir dados e dar rollback em
caso de erro???

  eu nao posso dar commit pois antes de criar a tabela, eu tenho outros
comandos que nao podem ser commitados no caso de erro.

  Será q existe alguma regra na transacao do tipo:
  Criacao de tabela deve ser comitada senao a transacao nao enxerga..

  Que raio de transacao é essa do FB????

    ----- Original Message ----- 
    From: Fellipe Henrique 
    To: delphi-br@yahoogrupos.com.br 
    Sent: Monday, July 31, 2006 10:02 AM
    Subject: Re: [delphi-br] Mistério na Transação com FB.


    Amigo, realmente o erro vai dar, pois a tabela Teste nao existe, e esta
na
    mesma transacao.. o que voce pode fazer eh apos o Create Table dar um
    CommitRetaining.... assim voce comita  e permanece na mesma transacao..
ou
    usar uma transacao diferente ara a criacao da tabela...


    []s

    Em 31/07/06, José Otavio DTI <[EMAIL PROTECTED]>
escreveu:
    >
    > Bom dia a todos.
    >
    > Estou usando um IBTransaction ligado a um IBDataBase
    > Estou usando um IBQuery ligado a este Transaction para executar as
    > seguintes instruções:
    >
    > Transacao.StarTransaction
    >    try
    >       // Instruções SQL executadas no IBQuery que está ligado a
transação
    > em questão
    >       <instrução SQL> --------------------------------------------->
OK
    >       <instrução SQL> --------------------------------------------->
OK
    >       <instrução SQL> --------------------------------------------->
OK
    >       Create Table Teste (cTeste VarChar(20)); -----------> OK
    >       Insert into Teste (cTeste) Values ('Texto')   ---------> ERRO!!!
    >    except
    >       Transacao.Rollback
    >    end;
    > Transacao.Commit
    >
    > O problema ocorre na hora de dar o insert... da um erro dizendo que a
    > tabela Teste não existe.
    > Teoricamente, era pra transação enxergar a tabela, uma vez que ela
esta
    > sendo criada na mesma.
    > Se eu der um commit após o create, funciona corretamente.
    > Mas estou trabalhando com transacao justamente para dar o commit só no
    > final.... pois se acontecer allgum erro, posso dar rollback e cancelar
    > tudo... inclusive a criação da tabela.
    >
    > Qualquer instrução SQL nesta transação, funciona corretamente... só o
    > Ceate Table não funciona.
    > Ele executa o create mas a transação nao enxerga a tabela.
    >
    > Será que as instruções em uma transação só funcionam com as tabelas ja
    > criadas?
    >
    > Creio que não estou trabalhando de forma errada com a conexão e seus
    > parametros... pois quando dou inserts numa tabela ja criada, funciona
    > corretamente... e se precisar dar Rollback também.
    >
    > Alguém desvenda este mistério?
    >
    >
    > Agradeço desde já a atenção de todos.
    >
    > Jose Otavio
    >
    > [As partes desta mensagem que não continham texto foram removidas]
    >
    > 
    >



    -- 
    _________________________________
    Fellipe Henrique
    [EMAIL PROTECTED]

    Borland Developer Studio 2006 Certified

    "Venham até a borda, ele disse.
    Eles disseram: Nós temos medo.
    Venham até a borda, ele insistiu.
    Eles foram, Ele os empurrou...
    E eles voaram."
    (Guillaume Apollinaire)


    [As partes desta mensagem que não continham texto foram removidas]

     

  [As partes desta mensagem que não continham texto foram removidas]

   

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>


 
Links do Yahoo! Grupos




 







-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a