Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Savepoint
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{For|save points in video games|Saved game}} {{more citations needed|date=September 2014}} A '''savepoint''' is a way of implementing subtransactions (also known as [[nested transaction]]s) within a [[relational database management system]] by indicating a point within a [[database transaction|transaction]] that can be "[[Rollback (data management)|rolled back to]]" without affecting any work done in the transaction before the savepoint was created. Multiple savepoints can exist within a single transaction. Savepoints are useful for implementing complex error recovery in database applications. If an error occurs in the midst of a multiple-statement transaction, the application may be able to recover from the error (by rolling back to a savepoint) without needing to abort the entire transaction. A savepoint can be declared by issuing a <code>SAVEPOINT ''name''</code> statement. All changes made after a savepoint has been declared can be undone by issuing a <code>ROLLBACK TO SAVEPOINT ''name''</code> command. Issuing <code>RELEASE SAVEPOINT ''name''</code> will cause the named savepoint to be discarded, but will not otherwise affect anything. Issuing the commands <code>ROLLBACK</code> or <code>COMMIT</code> will also discard any savepoints created since the start of the main transaction. Savepoints are defined in the [[SQL#Interoperability and standardization|SQL standard]] and are supported by all established SQL relational databases, including [[PostgreSQL]], [[Oracle Database]], [[Microsoft SQL Server]], [[MySQL]], [[IBM Db2]], [[SQLite]] (since 3.6.8), [[Firebird (database server)|Firebird]], [[H2 (DBMS)|H2 Database Engine]], and [[Informix]] (since version 11.50xC3). {{databases}} [[Category:Data management]] [[Category:Transaction processing]] [[Category:Database management systems]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)