본문 바로가기
개발 이야기/개발자 이야기

[데이터베이스] DB 테이블 정수형 컬럼 값 증가시키기

by 런던살자 2019. 6. 22.

안녕하세요 마블랑입니다. 

 

데이터베이스 연동 프로세스를 구현하던중에 해당 데이터의 값을 1 증가시켜야 했습니다.

 

마블랑과 같은 기능을 구현하는 분들도 많이 있을거라 생각합니다.

 

이전에는 Select를 통해 데이터를 가져오고 나서 로직을 통해 1을 증가시키고 다시 데이터베이스에 Update 하는 방식으로 구현을 했었습니다.

 

하지만 좀더 새로운 시도를 해본결과 Select 구문을 사용하지 않고 간단하게 데이터를 증가시킬수 있는 방법을 알아냈습니다.

 

Update [테이블명] set [증가할 컬럼] = [증가할 컬럼]+1 (Where 조건식); 

 

 

해당 Update 구문을 사용하면 자동으로 데이터를 1을 증가시킬수 있습니다. 

 

필요에 따라서 Where절의 조건을 추가할수 있습니다.

 

그럼 예문을 만들어 보겠습니다. 

 

상품 구매에 따른 구매횟수 증가 예문입니다. 

 

Update Product set PurchaseCnt = PurchaseCnt +1 Where ProductCode= '0001'; 

 

 

SQL 문을 이렇게 작성하시고 상품구매 이벤트가 발생할때마다 해당 구문을 실행해주기만 하면됩니다.

 

좀더 응용을 하면 여러개의 구매가 이루어 졌을 때 프로세스에서 최종적으로 증가하는 부분에 1이 아닌 구매횟수를 넣어 문자열로 만든다음 사용을 하면 단 한번의 쿼리문으로 데이터를 갱신할수 있습니다.

 

간단하게 기능을 구현해보기로 하겠습니다.

int PurchaseCnt=0;

for (int i =0 ; i < 10 ; i++){
	Purchase ++; 
}

string strSQL;

strSQL = "Update Product set PurchaseCnt = PurchaseCnt +" +PurchaseCnt +" Where ProductCode= '0001';";

//strSQL 실행


 

이렇게 구현을 하면 SQL문 실행을 최소화 할수 있어 성능에 더 좋을것이라고 생각합니다.

 

 

이상 마블랑이었습니다. 읽어주셔서 고맙습니다 ^^

 

댓글