초보 프로그램 개발자

[ 7주차 ] Oracle 데이터베이스 (TRANSACTION) 본문

교육 일지/Database

[ 7주차 ] Oracle 데이터베이스 (TRANSACTION)

Ji_HG 2023. 6. 15. 19:00
TRANSACTION
  • 하나의 작업을 하기 위해 그 안에서 이루어지는 여러개의 작업들
  • 하나라도 실행이 안되면 작업이 이루어지지 않는다.
TRANSACTION - LOCK
  • CMD창을 2개 켜두고 같은 계정으로 접속했을 경우 (1번,2번)
  • 1번에서 INSERT를 하는 순간 TRANSACTION이 실행된다.
  • 이때 2번에서 데이터 조회시 1번에서 INSERT한 데이터가 나오지 않는다.
  • 그래서 2번에서 1번과 동일한 데이터를 INSERT 하게되면 실행이 안되고 멈춰버린다.
  • 이때 1번에서 COMMIT을 하면 2번이 실행되며 이미 존재하는 데이터라는 오류가 뜨고
  • 1번에서 ROLLBACK을 한다면 2번이 실행되며 INSERT 될것이고, 위와 똑같이 2번에서 COMMIT하기전에
  • 1번에서는 보이지 않는다.