- Savepoint
-
Un savepoint (en español, punto de recuperación) es una forma de implementar subtransacciones (también conocidas como transacciones anidadas) dentro de un sistema gestor de base de datos relacional indicando un punto dentro de una transacción de base de datos que puede ser "rolled back" (devuelta) sin afectar a cualquier trabajo realizado en la transacción antes de que el punto de recuperación fuera creado. Varios savepoints pueden existir dentro de una transacción individual. Los Savepoints son útiles para implementar recuperación de errores complejos en aplicaciones de base de datos — si ocurre un error en el medio de una transacción de múltiples sentencias, la aplicación puede ser capaz de recuperarse del error (devolviendo, "rolling back", hasta un savepoint) sin necesidad de abortar la transacción completa.
Un savepoint puede estar declarado emitiendo una sentencia
SAVEPOINT name
. Todos los cambios realizados después de un savepoint han sido declarados que pueden ser deshechos emitiendo un comandoROLLBACK TO SAVEPOINT name
command. EmitiendoRELEASE SAVEPOINT name
causará que el savepoint concreto sea descartado, pero no afectará a nada más. Emitiendo los comandosROLLBACK
oCOMMIT
también descartará cualesquiera savepoints creados desde el inicio de la transacción principal.Savepoints son soportados de alguna u otra forma en sistemas de bases de datos tales como PostgreSQL, Oracle, Microsoft SQL Server, MySQL, DB2, y Firebird. Los Savepoints están también definidos en el estándard SQL.
Categorías:- Bases de datos
- Lenguajes de consulta
Wikimedia foundation. 2010.