O uso de Savepoint permite definir um ponto no tempo durante a execução de uma transação, possibilitando retornar o estado do banco de dados a esse momento e, assim, desfazer todas as alterações realizadas após ele. Isso é especialmente útil para evitar situações de sucesso parcial, onde apenas parte do processo é concluída com sucesso.
O uso do Savepoint é bastante simples, como mostrado no exemplo abaixo:

- No lado esquerdo da imagem, o Savepoint não foi utilizado. Nesse caso, se o processo falhar ao criar um Contato, o sistema ficará em um estado de sucesso parcial — ou seja, a Conta foi criada, mas sem o Contato correspondente.
- Já no lado direito, um Savepoint é definido no início do processo. Caso ocorra um erro, podemos utilizar o método Rollback para reverter as alterações e garantir que nenhuma operação seja parcialmente concluída.
É importante lembrar que cada chamada ao Savepoint é considerada uma instrução DML e, portanto, conta dentro dos limites de transação do Salesforce.