Just do IT
article thumbnail

DBeaver에서 제공해주는 기능 중 Transaction 기능이 있다.
   - Auto Commit
   - Manual Commit
   - Smart Commit
   각각의 기능이 무엇인지, 그리고 Auto-Commit을 해제하는 방법을 알아보자.

Transaction 이란?

쿼리를 임시로 실행시켜주는 기능이라고 생각하면 된다.

insert, update, delete 쿼리를 실행할 때 실행 결과가 테이블에 바로 적용되지 않게 해주는 안전장치이다

영단어 클릭! ☞ TRANSACTION 의미

* 트랜잭션 쿼리 사용 방법

   BEGIN(START) TRANSACTION

   ROLLBACK TRANSACTION 혹은 COMMIT TRANSACTION

 

기능 정의

1. Auto-Commit (비추천)

   : 자동으로 commit(적용)을 해주는 기능이다. 

     DBeaver 에서 쿼리문 실행 시 해당 테이블에 바로 결과가 적용이 되는 것이다.

     조회를 할 때는 데이터가 변경될 일이 없어서 괜찮지만 insert, update, delete문을 실행할 때는
위험할 수 있다.

     특히 update, delete문은 where조건을 잘못 설정하면 엉뚱한 데이터를 변경하거나
삭제할 수 있기 때문이다.

 

2. Manual Commit (추천) 

   : 모든 쿼리 (select, insert, update, delete)의 결과를 수동으로 적용시켜야한다.

      insert, update, delete를 사용할 때는 특히 유용할 것이다.

      예를 들어 delete문을 실행 후 select로 삭제됬는지 확인을 하면 쿼리 결과 테이블로 확인할 수가 있다.

      이때 해당 테이블의 데이터는 전혀 변경이 되지 않기 때문에 delete문을 잘못 만들었다 해도
문제가 되지 않을 것이다.

      확인 후 commit을 클릭 해야지만 데이터에 변경된 사항이 적용이 된다. 

 

3. Smart Commit (비추천)

   : insert, update, delete일 경우에만 적용을 막아주는 기능이다. 

     select일 경우에는 데이터가 변경될 일은 거의 없으니 굳이 Transaction을 사용할 필요가 없다.

     그렇기 때문에 Smart Commit은 데이터가 변경되는 쿼리일 경우에믄 Transaction을

실행해주는 기능이다.

 

※ Auto Commit 해제하는 방법

auto-commit을 변경하는 두 가지 방법이 있다.

1. 도구모음 (상단 메뉴 바)에서 변경하기

    T모양 옆의 아래 화살표를 누른 후 Manual Commit을 선택해주면 된다.

    단, DBeaver commit은 auto-commit이 기본값이기 때문에 이 방법을 사용하면

수시로 변경해주어야 한다.

 

2. 기본값 해제하기 

    상단 메뉴 바에서 원도우 > 설정 > 연결유형 들어가준다.

    Auto-Commit by default가 체크되어 있을 것이다. 체크를 해제해주고 

Apply and Close를 해주면 적용이 된다.

   이미 열려있는 쿼리문은 직접 바꿔주어야 하지만 설정 이후에 새로 생성하는 쿼리문은

Manual Commit이 적용될 것이다

 

※ auto-commit, manual-commit 변경 되었는지 확인하기

   상단 메뉴 바에 None 이라는 글씨가 있으면 Manual Commit, Auto라는 글씨가 있으면 Auto Commit이다.

 

※ commit 하기

   commit 메뉴 왼쪽에 있는 버튼이다. 

   커밋 : 쿼리문 적용 (COMMIT TRAN)

   롤백 : 적용 취소 (ROLLBACK TRAN)

 

'Programing > DB' 카테고리의 다른 글

Mybatis 문법  (0) 2022.12.05
SQL 문법을 알아보자  (0) 2022.12.02
다중 테이블에서 데이터를 한번 출력하는 방법  (0) 2022.11.30
쿼리 - null 체크하기  (0) 2022.11.30
DBeaver 쿼리 history 보는 방법  (0) 2022.11.14
profile

Just do IT

@AmyG

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!