728x90
더보기
Day32. 230614
트랜잭션(transcation)
'거래'라는 뜻.
트랜잭션 처리
: 특정 테이블에서 데이터를 읽어 조작 후 다른 테이블에 데이터를 입력하거나 갱신, 삭제하는데 처리 도중
오류가 발생하면 모든 작업을 원상태로 되돌리고,
처리 과정이 모두 성공했을 때만 최종적으로 데이터베이스에 반영하는 것
COMMIT
거래가 모두 성공적으로 마쳤으니 '이 거래는 성공했으니 반영해도 된다.'라고 확인하는 역할.
commit문을 실행하지 않으면 insert, update, delete한 결과가 최종적으로 반영되지 않음.
ROLLBAK
DB에 가해진 변경사항을 취소시키는 기능
SAVEPOINT
rollback을 명시하면 insert, update, delete 작업 전체가 취소되는데
savepoint를 이용하면 전체가 아닌 특정 부분에서 트랜젝션을 시행 할 수 있다.
예>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
select * from dept; --10,20,30,40
insert into dept(deptno) values(90);
insert into dept(deptno) values(91);
select * from dept; --10,20,30,40,90,91존재
savepoint a;
update dept set deptno=99 where deptno=91;
select * from dept; --10,20,30,40,90,99존재
savepoint b;
delete from dept where deptno=99;
select * from dept; --10,20,30,40,90존재
savepoint c;
delete from dept where deptno=90;
select * from dept; --10,20,30,40
savepoint d;
commit;
rollback to a;
rollback to c; --c가 이미 삭제되었기 때문에 안됨.
|
cs |
728x90
'개발 수업 > DB' 카테고리의 다른 글
[PL/SQL] 프로시저(Procedure) (0) | 2023.06.15 |
---|---|
[PL/SQL] PL/SQL BLOCK Structure (0) | 2023.06.15 |
[Oracle/SQL] 부모,자식 table(insert,update,delete) (0) | 2023.06.14 |
[Oracle/SQL] 테이블 변경 (0) | 2023.06.14 |
[Oracle/SQL] 게시판 CRUD(Create, Read, Update, Delete) (0) | 2023.06.14 |