Firebird – Contadores internos com Autonomous Transaction

Firebird utiliza “Autonomous Transaction”  para isolar o controle de transação podendo usar internamente em procedimentos, funções ou blocos de execução.

Recurso muito útil quando se deseja garantir rapidez na transação em pontos específicos da aplicação.

Um exemplo interessante é quanto precisa obter um contador grava em tabela e não pode deixar pendente de fazer commit no banco para não correr o risco do outro usuário pegar o mesmo número. Para estes casos tornar permanente o contador é fundamental.

Como usar:

in autonomous transaction do
begin
    ...... código a tornar persistente.
    update .... .....
end

Relevante: se o seu contador possui uma busca muito frequente com muita concorrência, avalie trocar o contador em tabela para um contador com GENERATOR;

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *