Aplicaçao em banco de dados
É
a realização de um comandos de uma só vez.
conjunto
de das
Acontece Caso
por completo (todas operações) ou nada acontece.
haja um erro qualquer na transação ou falha no sistema o SGBDR irá executar o camando ROLLBACK. que duas solicitações diferentes não efetuarão uma mesma operação ao mesmo tempo.
Garante
Transações
Na
versão 8 apareceram os SAVEPOINTS (pontos de salvamento) , que guardam as informações até eles. salva as operações existentes antes do SAVEPOINT e basta um ROLLBACK TO para continuar com as demais operações. PostgreSQL mantém a consistência dos dados utilizando o modelo multiversão MVCC (Multiversion Concurrency Control), que permite que leitura não bloqueie escrita nem escrita bloqueie leitura.
Isso
O
Uma transação é dita um processo atômico, o que significa que ou acontecem todas as suas operações ou então nenhuma será salva. Exemplo 1: Begin;--início da transação update produto set quant_est=500 where codigo_produto=31; select * from produto where codigo_produto=31; Commit; --Executa todos os comandos da transação Para testar se todas as operações foram salvas execute: select * from produto where codigo_produto=31;
Cont… do exemplo 1: Outro teste da automicidade das transações. Intencionalmente será comitido um erro no “Select (Fron) (com N, quando deveria ser com M”. Begin;--início da transação update produto set quant_est=10 where codigo_produto=31; select * fron produto where codigo_produto=31; Commit; --Executa todos os comandos da transação Isso causará um erro e o camando Rollback será automaticamente executado, o que garante que nenhuma das operações será realizada. Execute a consulta para testar se houve atualização. select * from produto where codigo_produto=31
Exemplo 2 – com ponto de Salvamento
Begin;--início da transação update produto set quant_est=quant_est-100 where codigo_produto=31;
savepoint ponto_de_salvamento; -- guardam as informações até o