[SQL] 여러 개의 UPDATE 문을 실행한 후, 최종적으로 영향을 받은 전체 행의 개수를 세고 싶다
@@ROWCOUNT는 직전에 실행된 SQL 문이 영향을 준 행의 개수를 반환하는 전역 변수예요. 여러 개의 UPDATE 문을 실행할 경우, 각 UPDATE 문 직후에 이 값을 변수에 누적해서 더하면 최종 결과를 얻을 수 있어요.
-- 총 업데이트된 행 수를 저장할 변수 선언
DECLARE @TotalRowCount INT = 0;
-- 첫 번째 UPDATE 문 실행
UPDATE dbo.Customers
SET CustomerStatus = 'VIP'
WHERE TotalPurchases >= 100000;
-- 첫 번째 UPDATE의 영향을 받은 행 수를 변수에 더하기
SET @TotalRowCount = @TotalRowCount + @@ROWCOUNT;
-- 두 번째 UPDATE 문 실행
UPDATE dbo.Customers
SET CustomerStatus = 'Gold'
WHERE TotalPurchases >= 50000 AND TotalPurchases < 100000;
-- 두 번째 UPDATE의 영향을 받은 행 수를 변수에 더하기
SET @TotalRowCount = @TotalRowCount + @@ROWCOUNT;
-- 최종적으로 업데이트된 총 행 수 출력
PRINT '총 ' + CAST(@TotalRowCount AS NVARCHAR(10)) + '개의 행이 업데이트되었습니다.';
'프로그래밍 > DataBase' 카테고리의 다른 글
[MSSQL] mssql ERD를 지원하는 오픈소스 프로그램 (0) | 2025.05.28 |
---|---|
[MSSQL] update 구문 여러개를 실행하고 그 결과 row의 총 개수를 구하라 (0) | 2024.12.16 |
2025년을 위한 7개의 데이터베이스 (1) | 2024.12.16 |
[MSSQL] PIVOT. a, b, count(1) 를 group by 할때 A 가 5 종류인데 각 카운트를 한 로우에 칼럼으로 다 보여질수 있도록 (0) | 2024.10.21 |
[DataBase] Postgres를 검색엔진으로 활용하기 (2) | 2024.09.02 |