@@ROWCOUNT(Transact-SQL)
적용 대상: SQL Server
Azure SQL Database
Azure SQL Managed Instance
최근 실행된 문의 영향을 받은 행 수를 반환합니다. 행 수가 20억 개보다 많을 경우 ROWCOUNT_BIG을 사용하세요.
Syntax
@@ROWCOUNT
참고 항목
SQL Server 2014(12.x) 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.
반환 형식
int
설명
Transact-SQL 문은 다음과 같은 방법으로 값을 @@ROWCOUNT
설정할 수 있습니다.
- 영향을 받거나 읽은 행 수로 설정합니다
@@ROWCOUNT
. 행이 클라이언트로 전송될 수도 있고 전송되지 않을 수도 있습니다. - 이전 문 실행에서 유지
@@ROWCOUNT
합니다. - 0으로 다시
@@ROWCOUNT
설정하지만 클라이언트에 값을 반환하지 마세요.
단순 할당을 만드는 문은 항상 값을 .로 1
설정합니다@@ROWCOUNT
. 클라이언트에게 행은 보내지지 않습니다. 이러한 문의 예는 다음과 SET @local_variable
같습니다. , RETURN
, READTEXT
및 쿼리 문 없이 선택(예: SELECT GETDATE()
또는 SELECT '<Generic Text>'
.)
쿼리에서 할당하거나 쿼리에서 사용하는 RETURN
문은 값을 쿼리의 영향을 받거나 읽은 행 수로 설정합니다 @@ROWCOUNT
. 예를 들면 다음과 SELECT @local_variable = c1 FROM t1
같습니다.
DML(데이터 조작 언어) 문은 값을 쿼리의 영향을 받는 행 수로 설정하고 @@ROWCOUNT
해당 값을 클라이언트에 반환합니다. DML 문은 클라이언트에 행을 보내지 않을 수 있습니다.
DECLARE CURSOR
값을 FETCH
.로 @@ROWCOUNT
1
설정합니다.
EXECUTE
문은 이전 @@ROWCOUNT
을 유지합니다.
, , SET <option>
, DEALLOCATE CURSOR
, RAISERROR
CLOSE CURSOR
PRINT
BEGIN TRANSACTION
등의 USE
문 또는 COMMIT TRANSACTION
ROWCOUNT
값을 0
다시 설정합니다.
고유하게 컴파일된 저장 프로시저는 이전 @@ROWCOUNT
을 유지합니다. 고유하게 컴파일된 저장 프로시저 내의 Transact-SQL 문은 설정 @@ROWCOUNT
되지 않습니다. 자세한 내용은 고유하게 컴파일된 저장 프로시저를 참조하세요.
예제
다음 예에서는 UPDATE
문을 실행하고 @@ROWCOUNT
를 사용하여 변경된 행이 있는지 확인합니다.
USE AdventureWorks2022;
GO
UPDATE HumanResources.Employee
SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO