Transações
Transação - é a realização de um conjunto de comandos de uma só vez. Uma transação acontece por completo (todas as operações) ou nada acontece. Também a transação deve garantir um nível de isolamento das demais transações, de maneira que as demais transações somente enxerguem as operações após a transação concluída.
Caso haja um erro qualquer na transação ou falha no sistema o SGBR irá executar um comando ROLLBACK. Transações são uma forma de dar suporte às operações concorrentes, garantindo a segurança e integridade das informações. Garantir que duas solicitações diferentes não efetuarão uma mesma operação ao mesmo tempo.
BEGIN;
UPDATE musica SET duracao = duracao + 100.00 WHERE codigo_musica = 2;
UPDATE musica SET duracao = duracao - 100.00 WHERE codigo_musica = 445;
COMMIT;
Na versão 8 apareceram os SAVEPOINTS (pontos de salvamento) , que guardam as informações até eles. Isso salva as operações existentes antes do SAVEPOINT e basta um ROLLBACK TO para continuar com as demais operações.
BEGIN; UPDATE musica SET duracao = duracao + 100.00 WHERE codigo_musica = 2; SAVEPOINT meu_ponto_de_salvamento; UPDATE musica SET duracao = duracao - 1900.00 WHERE codigo_musica = 2; UPDATE musica SET duracao = duracao + 5090.00 WHERE codigo_musica = 2; -- ops ... o certo é na conta 6 ROLLBACK TO meu_ponto_de_salvamento; COMMIT;
BEGIN;
UPDATE musica SET duracao = duracao + 100.00 WHERE codigo_musica = 2;
UPDATE musica SET duracao = duracao - 1900.00 WHERE codigo_musica = 2;
UPDATE musica SET duracao = duracao + 5090.00 WHERE codigo_musica = 2;
ROLLBACK;
COMMIT;
Transações
By walternascimento
Transações
- 247