create table temp_zhangxb
(
abc varchar2(10)
);
DECLARE
v_number number;
BEGIN
v_number := 1;
insert into temp_zhangxb values('1');
savepoint A;
insert into temp_zhangxb values('2');
savepoint B;
insert into temp_zhangxb values('3');
savepoint C;
rollback to b;
--数据并没有写入到数据库中,只是写到了缓存中,直接查询数据库是没有插入的值的
commit;
(
abc varchar2(10)
);
DECLARE
v_number number;
BEGIN
v_number := 1;
insert into temp_zhangxb values('1');
savepoint A;
insert into temp_zhangxb values('2');
savepoint B;
insert into temp_zhangxb values('3');
savepoint C;
rollback to b;
--数据并没有写入到数据库中,只是写到了缓存中,直接查询数据库是没有插入的值的
commit;
END;
注:若取消全部事物则书写为rollback;