Database -Mysql,Oracle
[DB] 트랜잭션(transaction)/ROLLBACK/COMMIT
은은하게미친자
2022. 7. 26. 16:52
728x90
+ mysql 은 자동 commit
트랜잭션?
: 관계형 데이터베이스에서 하나의 작업 또는 밀접하게 연관되어 있는 작업 수행을 위해 나눌 수 없는 최소수행 단위를 트랜잭션이라고 합니다. SQL문법 중 이러한 트랜잭션을 제어하는데 사용한 명령어를 TCL이라고합니다.
트랜잭션은 하나의 트랜잭션 내에 있는 여러 명령어를 한번에 수행하여 작업을 완료하거나 아예 모두 수행하지않는상태, 즉 모든 작업을 취소합니다. 이러한 특성으로 트랜잭션 의미를 ALL OR NOTING문장으로 설명하기도 합니다.
트랜잭션을 제어하는 명령어
ROLLBACK
: 트랜잭션을 취소하고 싶을때
COMMINT
: 트랜잭션명령어를 데이터베이스에 영구히 반영할때
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
create table detp_tcl
as select * from dept;
select * from detp_tcl;
insert into detp_tcl values(44,'database','testloc');
SET SQL_SAFE_UPDATES = 0;
update detp_tcl set LOC = 'BUSAN' where DEPTNO = 40;
delete from detp_tcl where dname = 'research';
/*--------------여기까지는 테스트 준비를위한 데이터 넣기*/
rollback;
select * from detp_tcl;
commit;
select * from detp_tcl;
|
cs |
728x90