Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Analítica (PDW)
Base de datos SQL en Microsoft Fabric
Hace que SQL Server detenga el procesamiento de la consulta una vez que se han devuelto las filas especificadas.
Convenciones de sintaxis de Transact-SQL
Sintaxis
SET ROWCOUNT { number | @number_var }
Argumentos
número | @number_var
Es el número entero de filas que se deben procesar antes de detener la consulta específica.
Observaciones
Importante
Usarlo SETSET ROWCOUNT no afectará DELETEa , INSERT, ni UPDATE a las sentencias en una futura versión de SQL Server. Evita usar SETSET ROWCOUNT sentencias con DELETE, INSERT, y UPDATE en nuevos trabajos de desarrollo, y planifica modificar las aplicaciones que ya las usan. Para conseguir un comportamiento similar, utilice la sintaxis TOP. Para obtener más información, vea TOP (Transact-SQL).
Para activar esta opción y que todas las filas se devuelvan, especifica SET ROWCOUNT 0.
Al configurar la SET ROWCOUNT opción, la mayoría de las sentencias Transact-SQL detienen su procesamiento cuando se ven afectadas por el número especificado de filas. Esto incluye a los desencadenadores. La ROWCOUNT opción no afecta a los cursores dinámicos, pero sí limita el conjunto de filas de claves y cursores insensibles. Esta opción debe utilizarse con cautela.
SET ROWCOUNT anula la palabra clave SELECT TOP si el número de filas es el valor menor.
El valor de se establece en tiempo de SET ROWCOUNT ejecución o ejecución y no en tiempo de análisis.
Permisos
Debe pertenecer al rol public.
Ejemplos
SET ROWCOUNT detiene el procesamiento tras el número especificado de filas. En el ejemplo siguiente se observa que más de 500 filas cumplen los criterios de Quantity menor que 300. Sin embargo, tras solicitar SET ROWCOUNT, puedes ver que no todas las filas fueron devueltas.
USE AdventureWorks2022;
GO
SELECT count(*) AS Count
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
Este es el conjunto de resultados.
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)
Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)
SET ROWCOUNT detiene el procesamiento tras el número especificado de filas. En este ejemplo, fíjese en que hay más de 20 filas que cumplen los criterios de AccountType = 'Assets'. Sin embargo, tras solicitar SET ROWCOUNT, puedes ver que no todas las filas fueron devueltas.
-- Uses AdventureWorks
SET ROWCOUNT 5;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';
Para devolver todas las filas, pon ROWCOUNT en 0.
-- Uses AdventureWorks
SET ROWCOUNT 0;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';