Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

SET ROWCOUNT (Transact-SQL)

Hace que SQL Server detenga el procesamiento de la consulta una vez que se han devuelto las filas especificadas.

Se aplica a: SQL Server (SQL Server 2008 a versión actual), Windows Azure SQL Database (Versión inicial a versión actual).

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

SET ROWCOUNT { number | @number_var } 

number | @number_var

Es el número entero de filas que se deben procesar antes de detener la consulta específica.

Nota importante Importante

La utilización de SET ROWCOUNT no afectará a las instrucciones DELETE, INSERT ni UPDATE en una futura versión de SQL Server. Evite utilizar SET ROWCOUNT con las instrucciones DELETE, INSERT y UPDATE en los nuevos trabajos de desarrollo, y modifique las aplicaciones que la utilizan en la actualidad. Para conseguir un comportamiento similar, utilice la sintaxis TOP. Para obtener más información, vea TOP (Transact-SQL).

Para desactivar esta opción con el fin de que se devuelvan todas las filas, especifique SET ROWCOUNT 0.

Al establecer la opción SET ROWCOUNT, la mayoría de las instrucciones Transact-SQL dejarán de procesarse cuando se haya alcanzado el número de filas especificado. Esto incluye a los desencadenadores. La opción ROWCOUNT no afecta a los cursores dinámicos, pero limita el conjunto de filas de los cursores controlados por conjunto de claves e INSENSITIVE. Esta opción debe utilizarse con cautela.

SET ROWCOUNT invalida la palabra clave TOP de la instrucción SELECT si el recuento de filas es el valor mínimo.

La opción SET ROWCOUNT se establece en tiempo de ejecución, no en tiempo de análisis.

Requiere la pertenencia al rol public.

SET ROWCOUNT detiene el procesamiento cuando se alcanza el número de filas especificado. En el ejemplo siguiente se observa que más de 500 filas cumplen los criterios de Quantity menor que 300. Sin embargo, después de aplicar SET ROWCOUNT, se puede ver que no se devolvieron todas las filas.

USE AdventureWorks2012;
GO
SELECT count(*) AS Count
FROM Production.ProductInventory
WHERE Quantity < 300;
GO

El conjunto de resultados es el siguiente.

Count

-----------

537

(1 row(s) affected)

Ahora, se establece ROWCOUNT en 4 y se devuelven todas las filas para mostrar que solo se devuelven 4 filas.

SET ROWCOUNT 4;
SELECT *
FROM Production.ProductInventory
WHERE Quantity < 300;
GO

(4 row(s) affected)

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft