Fórum Como FB trabalha com Commit e RollBack em Delphi #39286
08/10/2003
0
Caros colegas, o moderado disse que não tem como trabalhar com commit ou rollback dentro de uma trigger ou Store Procedure, neste caso eu terei que dentro do delphi dar um commit ou rollback para controlar uma transação? Em que situações eu posso utilizar RollBack ou Commit? alguém tem exemplos de como trabalhar com transações no FB? Estou migrando de SQL Server para Firebird e nessecito tirar essas dúvidas, pois é de extrema importancia para mim. Obrigado.
Halexmaciel
Curtir tópico
+ 1
Responder
Posts
08/10/2003
Afarias
|neste caso eu terei que dentro do delphi dar um commit ou rollback para
|controlar uma transação?
SIM (se vc usa Delphi claro... q não é a única forma de acessar o IB/FB)
|Em que situações eu posso utilizar RollBack ou Commit?
COMMIT - quando quer gravar todas as alterações (inserts, updates, deletes) efetuadas na transação definitivamente para o banco -- tornando-as assim disponíveis para outros usuários.
ROLLBACK - quando quer descartar (cancelar) todas as alterações efetuadas na transação.
|alguém tem exemplos de como trabalhar com transações no FB?
Ex (usando IBX) ::
with IBSQL1 do
try
Transaction.StartTransaction; // abre a transação associada ao IBSQL
SQL.Text := ´insert into tabela1 (cod, desc) values (1, ´´teste1´´)´;
ExecQuery;
SQL.Text := ´insert into tabela1 (cod, desc) values (2, ´´teste2´´)´;
ExecQuery;
Transaction.Commit; // salve os (2) registros inseridos
except
{ tratamento de erro e mensagem para o usuário }
Transaction.Rollback; // cancele as alterações
end;
Bom, a lógica em si não é diferente de qualquer outro SGBD-R ...
T+
|controlar uma transação?
SIM (se vc usa Delphi claro... q não é a única forma de acessar o IB/FB)
|Em que situações eu posso utilizar RollBack ou Commit?
COMMIT - quando quer gravar todas as alterações (inserts, updates, deletes) efetuadas na transação definitivamente para o banco -- tornando-as assim disponíveis para outros usuários.
ROLLBACK - quando quer descartar (cancelar) todas as alterações efetuadas na transação.
|alguém tem exemplos de como trabalhar com transações no FB?
Ex (usando IBX) ::
with IBSQL1 do
try
Transaction.StartTransaction; // abre a transação associada ao IBSQL
SQL.Text := ´insert into tabela1 (cod, desc) values (1, ´´teste1´´)´;
ExecQuery;
SQL.Text := ´insert into tabela1 (cod, desc) values (2, ´´teste2´´)´;
ExecQuery;
Transaction.Commit; // salve os (2) registros inseridos
except
{ tratamento de erro e mensagem para o usuário }
Transaction.Rollback; // cancele as alterações
end;
Bom, a lógica em si não é diferente de qualquer outro SGBD-R ...
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)