Maison >base de données >Oracle >Y a-t-il une restauration dans Oracle ?
Il existe une restauration dans Oracle. La restauration est utilisée pour annuler la transaction en cours ou la transaction problématique. La méthode de restauration peut être utilisée pour terminer la restauration de la transaction. La syntaxe est "ROLLBACK [Mot clé implicite] [TO [SAVEPOINT] savepoint_name | FORCE 'chaîne'};".
L'environnement d'exploitation de ce tutoriel : système Windows 10, Oracle version 12c, ordinateur Dell G3.
1. Concept
Dans Oracle, l'utilisation du rollback est opposée au commit, qui est utilisé pour annuler la transaction en cours ou la transaction problématique.
1.1 Syntaxe
ROLLBACK [WORK] [TO [SAVEPOINT] savepoint_name | FORCE 'string'};
Exemple :
work - Facultatif. Les mots-clés implicites peuvent être écrits ou non.
to savepoint savepoint_name - Facultatif. L'instruction rollback annule toutes les modifications de la session en cours jusqu'au point de sauvegarde spécifié par savepoint_name. Si cette clause est omise, toutes les modifications seront annulées.
forcer 'string - facultatif'. Utilisé pour forcer l'annulation de transactions potentiellement corrompues ou problématiques. À l'aide de cette clause, vous pouvez spécifier l'ID de transaction entre guillemets simples sous forme de chaîne. L'identifiant de transaction nommé dba_2pc_pengding, v$corrupt_xid_list peut être trouvé dans la vue système (la transaction problématique ne peut pas être annulée jusqu'au point de sauvegarde.)
1.1 Préparation des données
DROP TABLE stu; -- if exists CREATE TABLE stu ( s_id NUMBER, s_xm VARCHAR2(30) ); ALTER TABLE stu ADD CONSTRAINTS pk_stu_id PRIMARY KEY(s_id);
2. Point de sauvegarde
rollback Aller à les résultats de l'opération pointsql
DECLARE BEGIN INSERT INTO stu(s_id, s_xm) VALUES(1, '小游子'); SAVEPOINT ps1; INSERT INTO stu(s_id, s_xm) VALUES(2, '小优子'); SAVEPOINT ps2; -- 若也是 ps1,则回滚至此处(最近) INSERT INTO stu(s_id, s_xm) VALUES(2, '小优子'); COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK TO ps1; dbms_output.put_line(SQLCODE ||' : '||SQLERRM); dbms_output.put_line(dbms_utility.format_error_backtrace); END;
les plus proches :
Tutoriel recommandé : "Tutoriel vidéo Oracle"
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!