이전 글에서 SQL문 관련 기본적인 내용을 확인을 하였습니다. 오늘 글에서는 트랙잭션에 대해서 알아보겠습니다.
트랜잭션이란 ?
세트로 실행이 되어야 할 하나 이상의 변경 처리 집합입니다.
트랜잭션 명령어로는 COMMIT (처리확정) 과 ROLLBACK(처리취소 ) 두 가지 명령어가 있습니다.
이런 트랜잭션 형태로 처리를 해야 하는 경우가 있습니다. 예을 들어서 금융 거래를 할 때 입니다. 출금을 하고자 할 때 보통 사용자가 출금액을 입력하고 실행을 하면 입출금기에서 돈이 출금 됩니다.
이런 일련의 과정이 일괄적으로 처리가 되어야 합니다. 출금액을 입력하고 실행을 할 때 돈이 출금이 되지를 않은 상태에서 정전이 되거나 또는 기타 이유로 처리가 되지를 않는다면 통장에서 출금만 되고 돈이 출금이 되지를 않는다면 낭패입니다.
그래서 이런 작업을 할 때는 반드시 트랜잭션으로 모아서 취급할 필요가 있습니다.
트랜잭션 만들기
트랜잭션 구문은 아래와 같습니다.
트랜잭션 게시문 ;
DML 문 ① ;
DML 문 ② ;
.
.
.
트랜잭션 종료문(COMMIT 또는 ROLLBACK)
일반적인 부분은 대부분 동일하지만 트랜잭션 게시문은 DBMS마다 차이가 있습니다. 아래 내용을 참고를 하시면 됩니다.
SQL Server , PostgreSQL : BEGIN TRANSACTION
My SQL : START TRANSACTTION
Oracle , DB2 : 없음
그럼 예문을 통해서 확인을 하여 보도록 하겠습니다.
SQL Server , PostgreSQL
BEGIN TRANSACTION ;
UPDATE My_INSERT SET B_Price = 6000 WHERE M_CLASS ='PC용품' ;
UPDATE My_INSERT SET B_Price = 7000 WHERE M_CLASS ='PC용품' ;
COMMIT ;
My SQL
START TRANSACTTION;
UPDATE My_INSERT SET B_Price = 6000 WHERE M_CLASS ='PC용품' ;
UPDATE My_INSERT SET B_Price = 7000 WHERE M_CLASS ='PC용품' ;
COMMIT ;
Oracle , DB2
UPDATE My_INSERT SET B_Price = 6000 WHERE M_CLASS ='PC용품' ;
UPDATE My_INSERT SET B_Price = 7000 WHERE M_CLASS ='PC용품' ;
COMMIT ;
오늘은 트랜잭션의 기본적인 부분에 대해서 확인을 하였습니다. 다음 글에서는 좀더 자세히 알아보겠습니다.
'SQL문' 카테고리의 다른 글
SQL문 HAVING 구에 대해서 (0) | 2022.07.28 |
---|---|
SQL문 테이블 그룹 나누는 방법 (0) | 2022.07.25 |
SQL문 집약 2편 (0) | 2022.07.21 |
SQL문 논리연산자 2편 & 집약 (0) | 2022.07.20 |
SQL문 비교연산자 2편 (0) | 2022.07.18 |
SQL 산술연산자와 비교연산자 (0) | 2022.07.13 |
SQL 주석 작성법 (0) | 2022.07.11 |