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