L'interface Savepoint vous offre un contrôle supplémentaire des transactions. La plupart des SGBD modernes prennent en charge les points de sauvegarde dans leur environnement, comme le PL/SQL d'Oracle.
Lorsque vous définissez un point de sauvegarde, vous définissez un point de restauration logique dans la transaction. Si une erreur se produit après un point de sauvegarde, vous pouvez utiliser la méthode de restauration pour annuler toutes les modifications ou uniquement les modifications apportées après le point de sauvegarde.
L'objet Connection dispose de deux nouvelles méthodes pour vous aider à gérer les points de sauvegarde -
setSavepoint(String savepointName): Définissez un nouveau point de sauvegarde. Il renvoie également un objet Savepoint.
releaseSavepoint(Savepoint savepointName) : Supprimer un point de sauvegarde. Notez qu'il nécessite un objet Savepoint comme paramètre. Cet objet est généralement un point de sauvegarde généré par la méthode setSavepoint().
a une méthode rollback(String savepointName), qui est utilisée pour restaurer le travail jusqu'au point de sauvegarde spécifié.
try { //Assume a valid connection object conn conn.setAutoCommit(false); Statement stmt = conn.createStatement(); //set a Savepoint Savepoint savepoint1 = conn.setSavepoint("Savepoint1"); String SQL = "INSERT INTO Employees " + "VALUES (106, 20, 'Rita', 'Tez')"; stmt.executeUpdate(SQL); //Submit a malformed SQL statement that breaks String SQL = "INSERTED IN Employees " + "VALUES (107, 22, 'Sita', 'Tez')"; stmt.executeUpdate(SQL); // If there is no error, commit the changes. conn.commit(); } catch(SQLException se){ // If there is any error. conn.rollback(savepoint1); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!