본문 바로가기
데이터베이스[DB]/MSSQL

[MSSQL] SET ROWCOUNT n

by 낭만의개꿈 2024. 3. 19.

 

행 수를 제한하는 SET ROWCOUNT 기능은 자주 사용하지 않지만 모르는 것보다 스치듯이라도 한번 알아두면 다음에 찾아볼 일은 없을 것 같음으로 알아두고 넘어가기에 좋다.

TEST Table & Data Create
CREATE TABLE #tmp_data
(
	cust_id int,
	cust_name varchar(10),
	cust_date varchar(10),
	cust_eng int,
	cust_math int
)

INSERT INTO #tmp_data VALUES (1,'홍길동','2024-01-01',70,85)
INSERT INTO #tmp_data VALUES (2,'홍길동','2024-02-01',75,95)
INSERT INTO #tmp_data VALUES (3,'홍길동','2024-03-01',80,80)
INSERT INTO #tmp_data VALUES (4,'임꺽정','2024-01-01',100,80)
INSERT INTO #tmp_data VALUES (5,'임꺽정','2024-02-01',97,83)
INSERT INTO #tmp_data VALUES (6,'임꺽정','2024-03-01',100,78)
INSERT INTO #tmp_data VALUES (7,'임꺽정','2024-04-01',88,92)

 

 

SET ROWCOUNT n

 

아래의 쿼리를 보면 SET ROW COUNT 5 로 설정했는데, 이렇게 하면 이후에 수행되는 쿼리문은 5개의 행에만 영향을 준다. ( SELECT , UPDATE, DELETE )

SET ROWCOUNT 5
GO
 SELECT * 
   FROM #tmp_data
GO

SET ROWCOUNT 5 설정 후, 자료 조회

 

Local 설정이 들어가 있음으로 해당 세션에서는 SET ROWCOUNT 5 가 설정된 상태로 데이터 조회에 영향을 준다. 해당 제한을 풀기 위해서는 SET ROWCOUNT 0 이라고 설정하면 제한이 풀려서 전체 조회가 가능하다.

 

SET ROWCOUNT 5
GO
 SELECT * 
   FROM #tmp_data
GO

SELECT * FROM #tmp_data

 

SET ROWCOUNT 5 설정 상태

 

SET ROWCOUNT 0
GO
 SELECT * 
   FROM #tmp_data
GO

 

SET ROWCOUNT 0 으로 설정 해제 후 전체 조회