반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- first-child
- StringWriter
- ThreadGroup()
- ObjectInputStream
- include 지시자
- 메모리스트림
- include지시자
- 표현 언어
- ID중복
- StringReader
- Linux셋팅
- 아이디중복
- 동기화
- 상관 서브 쿼리
- 상관서브쿼리
- 리눅스셋팅
- 리눅스세팅
- 스레드그룸
- MemoryStream
- Linux세팅
- InputDialog
- Daemon()
- first-of-child
- interrupt()
- include액션태그
- sleep()메소드
- isinterrupted()
- char[] String 형변환
- interrupted()
- String char[] 형변환
Archives
- Today
- Total
다연이네
[days17] 트랜잭션(Transaction), SavePoint 본문
반응형
transaction
- 트랜잭션(Transaction)이란 일의 처리가 완료되지 않은 중간 과정을 취소하여 일의 시작 전 단계로 되돌리는 기능이다.
- 즉, 결과가 도출되기까지의 중간 단계에서 문제가 발생하였을 경우 모든 중간 과정을 무효화하여 작업의 처음 시작 전 단계로 되돌리는 것이라 할 수 있다.
- 일의 완료를 알리는 commit과 일의 취소를 알리는 rollback이 쓰인다.
예) 계좌 이체
1) A UPDATE
2) B UPDATE 완전히 다 되던지 완전히 안되던지
--userenv : 사용자환경
select userenv('sessionid')
from dual;
스캇 계정의 다른 데이터베이스를 접속하면 다른 숫자가 뜸
select ename,job
from emp
where ename='MILLER';
scott1에서 MILLER의 JOB을 update 시키면
select ename,job
from emp
where ename='MILLER';
update emp
set job='Manager'
where ename='MILLER';
scott2에서는 update가 안되어있다.
그 후에 scott2에서 update 하면 ?
update emp
set job='SALESMAN'
where ename='MILLER';
계속 돌기만하고 결과 값이 출력이 안된다.
scott1로 가서 rollback;을 하자마자 출력된다.
+ scott2에서도 rollback 해주기~
SavePoint
SAVEPOINT는 트랜잭션 내에 세이브포인트를 만들 수 있게 해준다.
하나의 트랜잭션 내에 여러 개의 세이브포인트를 만들 수 있으며, ROLLBACK TO 세이브포인트 문을 이용하여 큰 규모의 트랜잭션 내에서 명령들의 특정한 그룹만 롤백할 수 있다.
--첫번째 DML문 수행
insert into dept values (50, '부서명', '지역명');
--a세이브포인트
savepoint apoint;
update dept
set dname = 'QC2'
where deptno=70;
--b세이브포인트
savepoint bpoint;
delete from dept
where deptno = 70;
select * from dept;
rollback; --savepoint 없으면 insert/update/delete 모두 롤백됨
rollback to savepoint apoint;
반응형
'Oracle' 카테고리의 다른 글
[days17] 동적 SQL (0) | 2020.11.23 |
---|---|
[days17] 오라클 잡과 스케줄러 (Job, Scheduler) (0) | 2020.11.23 |
[days17] PL/SQL의 패키지(Package) (0) | 2020.11.23 |
[days17] 트리거(Trigger) 예제 (0) | 2020.11.23 |
[days17] 트리거(Trigger)의 :NEW, :OLD **추가 필요 (0) | 2020.11.23 |
Comments