* DML(select, update, delete)언어는 ROLLBACL하면 모두 취소
* DDL(create, drop, alter) 언어는 자동으로 COMMIT (한번이라도 사용되도 적용됨!)
>>기본 테이블 외에 다 지우기
select * from tab;
drop table dvdrent;
drop table dvdlist;
drop table dvdmember;
drop table emptest;
drop table emp_10;
create table empex as (select * from emp where deptno in(10, 20));
select * from empex;
delete empex where deptno=20; //delete (from)->생략가능!
savepoint sp1; //rollback sp1; 하면 여기까지 한것 이후 까지 취소가 됨!
update empex set sal=3000;
savepoint sp2;
delete empex where hiredate like '82%';
rollback to sp2;
commit;
--------------------------------------------------------------------
1번째 세션에서..
insert into empex values(8001,'gildong','sajang',7882,sysdate,3200,'',10);
delete from empex where ename='KING';
2번째 세션에서..
update empex set sal=7000 where ename='KING';
--->>LOCK 걸림!!
1번째 세션에서..
commit; 하자마자 2번째 세션에서 대기풀리면서 수행함. (0행이 갱신되었습니다.->삭제되었으므로..)
만약, 2번째 세션에서..
commit; 하면 변경후 삭제 됨!
나머지 내용은 첨부파일....
'DB(SQL)' 카테고리의 다른 글
[MySQL] root 패스워드 변경 (0) | 2017.03.16 |
---|---|
[MySQL] Mysql 설치 (mysql 5.5.54) (0) | 2017.03.15 |
[SQL] 테이블 생성/복사/삭제 (0) | 2017.02.28 |
[SQL] 제약조건 연습 (0) | 2017.02.28 |
[SQL] 함수 연습2 (0) | 2017.02.28 |