@@ROWCOUNT (Transact-SQL)

Devuelve el número de filas afectadas por la última instrucción. Si el número de filas es mayor de 2 mil millones, use ROWCOUNT_BIG.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

@@ROWCOUNT

Tipos de valor devueltos

int

Notas

Las instrucciones Transact-SQL pueden establecer el valor de @@ROWCOUNT de las siguientes maneras:

  • Establecer @@ROWCOUNT en el número de filas afectadas o leídas. Las filas pueden o no enviarse al cliente.
  • Conservar @@ROWCOUNT de la anterior ejecución de una instrucción.
  • Restablecer @@ROWCOUNT en 0 y no devolver el valor al cliente.

Las instrucciones que realizan una asignación simple siempre establecen el valor de @@ROWCOUNT en 1. No se envía ninguna fila al cliente. Ejemplos de estas instrucciones son: SET @local_variable, RETURN, READTEXT y Select sin instrucciones de consulta como SELECT GETDATE() o SELECT 'Texto genérico'.

Las instrucciones que realizan una asignación en una consulta o utilizan RETURN en una consulta establecen el valor de @@ROWCOUNT en el número de filas afectadas o leídas por la consulta, por ejemplo: SELECT @local_variable = c1 FROM t1.

Las instrucciones de lenguaje de manipulación de datos (DML) establecen el valor de @@ROWCOUNT en el número de filas afectadas por la consulta y devuelven ese valor al cliente. Las instrucciones DML pueden no enviar ninguna fila al cliente.

DECLARE CURSOR y FETCH establecen el valor de @@ROWCOUNT en 1.

Las instrucciones EXECUTE conservan el valor anterior de @@ROWCOUNT.

Las instrucciones como USE, SET <opción>, DEALLOCATE CURSOR, CLOSE CURSOR, BEGIN TRANSACTION o COMMIT TRANSACTION restablecen el valor de ROWCOUNT en 0.

Ejemplos

En el siguiente ejemplo se ejecuta una instrucción UPDATE y se utiliza @@ROWCOUNT para detectar si ha cambiado alguna fila.

USE AdventureWorks;
GO
UPDATE HumanResources.Employee 
SET Title = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO

Vea también

Referencia

Funciones del sistema (Transact-SQL)
SET ROWCOUNT (Transact-SQL)

Otros recursos

Usar @@ERROR

Ayuda e información

Obtener ayuda sobre SQL Server 2005