暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 回滚到保存点回滚一切

askTom 2018-01-31
179

问题描述

嗨,

在下面的示例中,“rollback到b;” 回退所有内容,而不是只清除emp3条目。
----------
create table emp1(empno number,ename char(4),sal number);
create table emp2(empno number,ename char(4),sal number);
create table emp3(empno number,ename char(4),sal number);

insert into emp1(empno,ename,sal) values (109,'Sami',3000);
savepoint a;
insert into emp2(empno,ename,sal) values (109,'Sami',3000);
savepoint b;
insert into emp3(empno,ename,sal) values (109,'Sami',3000);

rollback to b;
复制

-----------

谢谢

专家解答

你得给我们更多的证据这是在破坏一切。

当我运行它时,只有来自emp3的行被回滚,正如预期的那样:

SQL> create table emp1(empno number,ename char(4),sal number);

Table EMP1 created.

SQL> create table emp2(empno number,ename char(4),sal number);

Table EMP2 created.

SQL> create table emp3(empno number,ename char(4),sal number);

Table EMP3 created.

SQL>
SQL> insert into emp1(empno,ename,sal) values (109,'Sami',3000);

1 row inserted.

SQL> savepoint a;

Savepoint created.

SQL> insert into emp2(empno,ename,sal) values (109,'Sami',3000);

1 row inserted.

SQL> savepoint b;

Savepoint created.

SQL> insert into emp3(empno,ename,sal) values (109,'Sami',3000);

1 row inserted.

SQL> rollback to b;

Rollback complete.

SQL>
SQL> select * from emp1;
  EMPNO ENAME      SAL
    109 Sami      3000


SQL> select * from emp2;
  EMPNO ENAME      SAL
    109 Sami      3000


SQL> select * from emp3;

no rows selected
复制

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论