
기본으로 auto-commit이 설정되어 있음
-- 데이터 삭제
delete from emp where ename = 'SCOTT';
-- 확인
select * from EMP;
-- 작업 취소
rollback;
-- 확인 : 이전에 수행했던 데이터 삭제 작업이 취소된다.
select * from EMP;
-- 데이터 추가
insert into DEPT values(50, '총무', '서울');
-- 작업 완료 : 변경 내역이 반영
commit;
-- 작업 취소
rollback;
-- 확인 : 이미 commit된 작업은 취소 불가능
select * from dept;
-- 데이터 추가
insert into DEPT values(60, '영업', '철원');
-- 테이블 삭제
drop table tstaff;
-- 작업 취소
rollback;
-- 확인 : drop은 ddl 문장이므로 성공하면 자동으로 commit됨
-- 따라서 rollback 불가능
select * from tstaff;
-- 데이터 추가
insert into DEPT values(70, '비서', '파주');
-- 저장점 생성
savepoint s1;
-- 데이터 추가
insert into DEPT values(80, '회계', '포천');
-- 데이터 확인 : 80까지 저장되어 있음
select * from dept;
-- 작업취소 : 70이 실행되기 전까지 돌아감
-- rollback;
-- 작업취소 to 저장점 : 80 실행 전으로 돌아감(저장점)
rollback to s1;
-- 데이터 확인 : 70까지 저장되어 있음
select * from dept;