Como FB trabalha com Commit e RollBack em Delphi

Firebird

08/10/2003

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

Halexmaciel

Curtidas 1

Respostas

Afarias

Afarias

08/10/2003

|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+


GOSTEI 0
POSTAR