본문 바로가기

SQL

MSSQL ROWCOUNT

 

@@ROWCOUNT 란 ?

쿼리 실행문 실행 후 영향을 받은 로우의 수를 반환

별도 초기화하지 않으면 계속 유지

select, update, delete등 쿼리에서 사용 가능

 

UPDATE 테이블명 SET ITEM_NAME = 아이템명 WHERE ITEM_CODE = 아이템코드

IF @ROWCOUNT = 0
	BEGIN
    	INSERT INTO 테이블명 (아이템코드,아이템 명 ) VALUES (아이템코드, 아이템명)
    END

 

실습

현재 상품 테이블에 특정 조건으로 데이터를 조회하면 데이터가 나오지 않는다.

 

SELECT * FROM TB_SMS_ITEMS WHERE ITEM_CODE = 'ITEM1';

 

실행 결과 

 

 

UPDATE TB_SMS_ITEMS SET ITEM_NAME_KOR = '테스트1' WHERE ITEM_CODE = 'ITEM1' AND CUSTOMER_CODE = 'TEST1';

IF @@ROWCOUNT = 0
BEGIN
	INSERT INTO TB_SMS_ITEMS (ITEM_CODE, CUSTOMER_CODE) VALUES ('ITEM1' , 'TEST1')
END

 

상품 테이블에 특정 조건으로 UPDATE 를 실행하는데 조건이 만족하지 않으면 INSRET 하도록 실행했다.

 

실행 결과 

 

INSERT 된 데이터를 확인할 수 있다.

 

@@ROWCOUNT`를 사용하면 DML 문이 영향을 미친 행의 수를 확인하고 이에 따라 조건부로 작업을 수행할 수 있다

이를 통해 데이터 변경 작업을 더 유연하게 제어할 수 있다.

 

 

참고 : https://dbaant.tistory.com/104