有以下语句insert into temp values(9);
savepoint a;insert into temp values(19);
savepoint b;insert into temp valuse(29);
savepoint c;rollback to b;
create table t3(cola int);
rollback;请问提交了几条记录,并解释下,谢谢!

解决方案 »

  1.   

    2条,rollback to b就rollback了第三个insert,这个时候只有9,19被insert,但还没提交.
    create table会发出隐式提交,那9,19就被commit.最后的rollback也没用了.
      

  2.   

    提交了9和19两条记录,创建了表t3
    rollback to b; 的时候插入29的操作被回滚了
    create table t3(cola int); 的时候创建了表t3,隐含提交了插入9和19两条记录
    rollback; 已经提交的事务不可回滚,所以这里的rollback没有起到回滚的作用