본문 바로가기

SQL문

SQL 문 트랜잭션 1편

반응형

이전  글에서  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