Eu li sobre SAVE TRANSACTION
, mas não tenho certeza se entendi. Estou ciente do conceito de transações até BEGIN
, COMMIT
e ROLLBACK
, mas este é novo. Parece quase que existe para manter o tamanho do log de transações baixo ou não afetar o desempenho do servidor ao trabalhar com muitos dados de uma só vez.
Segue o exemplo que encontrei :
"Por exemplo, você pode criar um ponto de salvamento durante uma grande operação de vez em quando, para que o rollback ou commit trans não tenha que lidar com tantos registros quando for executado."
Alguém pode explicar isso melhor? Postgres tem algo semelhante chamado de SAVEPOINT
comando.
O uso de Salvar transação fornece um mecanismo para reverter partes de uma transação. Por exemplo, o SP A inicia uma transação que, em seguida, chama o SP B. No início do SP B, um processamento de início de transação salva pode ser criado.
Se ocorrer um erro no SP B, você pode apenas reverter a alteração no SP B, permitindo que as alterações no SP A sejam confirmadas.