트랜잭션_node.js

miin·2022년 4월 14일
0

Express & node.js

목록 보기
7/10
post-thumbnail

트랜잭션

  • 쪼개지면 안 되는 업무처리의 단위를 의미
  • 하나의 요청을 통해 여러개의 insert, update, delete문이 실행되어야 할 경우에 사용된다
  • 설명: insert, update문은 실행되지만 다음 delete문이 실행되지 못하는 경우가 발생한다. 이 경우에 트랜잭션 처리를 해준다면 요청 중 오류가 발생할 경우 rollback을 하여 요청이 실행되지 전 상태로 되돌아가고, 만약 정상적으로 처리가 이루어질 경우 commit 을 하여 서버에 변경된 데이터를 반영할 수 있게된다
  • 롤백과 커밋, 두가지의 결과값이 존재
    롤백: 부분작업이 실패했을 떄 DB를 트랜잭션 실행 전으로 되돌린다
    커밋: 정상적으로 완료되었다면 변경사항을 한꺼번에 DB에 반영한다(중간에 에러가 발생하면 반영하지 않는다)
const connection = await _db.getConnect();
try{
	outputSql = await connection.query(inputSql, reqData); //트랜잭션 적용 시작
    connection.commit(); //트랜잭션 반영
} catch (err) {
    connection.rollback(); //트랜잭션 롤백(이전상태로 되돌림)
} finally {
	connection.release();// connection 해제
}

0개의 댓글