La idea de los SavePoints es manejar por pasos las transacciones, pudiendo hacer rollbacks hasta un punto marcado por el savepoint y no por toda la sesión.
Código:
INSERT INTO ...;
SAVEPOINT A;
UPDATE ....;
SAVEPOINT B;
INSERT INTO ...;
SAVEPOINT C;
IF .... THEN
ROLLBACK TO B;
ELSE
COMMIT;
END;
Digamos que el ejemplo no es nada útil, pero la idea es demostrar la funcionalidad de los savepoints.
Saludos!