oracle中有回滚吗
oracle中有回滚,回滚用于撤销当前事务或者有问题的事务,利用rollback方法即可完成事务的回滚
语法为
ROLLBACK [隐式关键字] [TO [SAVEPOINT] savepoint_name | FORCE 'string'};一、概念
在 Oracle 中,rollback 用法与 commit 相反,是用来 撤销 当前事务或有问题的事务 。
1.1 语法
ROLLBACK [WORK] [TO [SAVEPOINT] savepoint_name | FORCE 'string'};例如:
work - 可选 。隐式关键字,可写可不写 。to savepoint savepoint_name - 可选 。rollback 语句撤销当前会话的全部更改,直到由 savepoint_name 指定的保存点 。若是省略该子句,则全部更改都将被撤销 。force 'string - 可选' 。用于 强制回滚 可能已损坏或有问题的事务 。使用此子句,能够将单引号中的 事务id 指定为 字符串 。能够在 系统视图 中找到名为 dba_2pc_pengding、v$corrupt_xid_list 的事务标识(没法将有问题的事务回滚到保存点 。)1.1 数据准备
DROP TABLE stu; -- if existsCREATE TABLE stu (s_id NUMBER,s_xm VARCHAR2(30));ALTER TABLE stu ADD CONSTRAINTS pk_stu_id PRIMARY KEY(s_id);二、savepoint
回滚到 最近 的 pointsql
DECLAREBEGININSERT 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;EXCEPTIONWHEN OTHERS THENROLLBACK TO ps1;dbms_output.put_line(SQLCODE ||' : '||SQLERRM);dbms_output.put_line(dbms_utility.format_error_backtrace);END;
【Linux系统下oracle中有回滚吗?】
推荐阅读
- 军棋的规则和走法 军棋的下法
- 通草鸡汤下奶吗
- 袁泉|袁泉,终于从神坛上 下来了
- 防晒|马化腾的企鹅“瘦身了”,收入下滑,但是员工平均工资8.5万以上
- 登月|中国长征系列火箭创下新纪录:2030年左右载人登月!
- |职场上为什么看似和颜悦色,其实心思已经在暗处下套
- 有品位的女人,有以下几种行为 品味女人
- 胆管支架术后不良反应
- 乾隆谕旨下的锡伯族西迁史 锡伯族西迁
- 如何下载滴滴出行?网约车司机端下载方法对比,总有一种你可以下载
