What is the purpose of the Save Transaction statement? I read up on SAVE TRANSACTION, but I'm not completely sure I understand it. I'm aware of the concept of transactions as far as BEGIN, COMMIT, and ROLLBACK, but this is a new one.  It sounds almost like it's there for keeping the size of your transaction log down, or not affecting the performance of the server when working on lots of data at once.

Here is the example I found:


  "For example, you could create a save point during a large operation
  every so often so that the rollback or commit trans is not having to
  handle as many records when it is performed."


Can someone explain this better?  Postgres has something similar called the SAVEPOINT command.
The use of Save Transaction provides you with a mechanism for rolling back portions of a transaction. For example SP A starts a transaction which then calls SP B. At the start of SP B, a Save Transaction Start Processing could be created.

If an error then occurs in SP B you could just rollback the change in the SP B allowing the changes in SP A to be committed.