¿Cómo puedo tener una variable dinámica que establezca la cantidad de filas para devolver en SQL Server? A continuación no se encuentra la sintaxis válida en SQL Server 2005+:
DECLARE @count int
SET @count = 20
SELECT TOP @count * FROM SomeTable
sql
sql-server-2005
Eddiegroves
fuente
fuente
Respuestas:
Esto solo funcionará con SQL 2005+
fuente
La sintaxis "select top (@var) ..." solo funciona en SQL SERVER 2005+. Para SQL 2000, puede hacer:
Espero que esto ayude
Oisin
(editado para reemplazar @@ rowcount con rowcount - gracias augustlights)
fuente
En el ejemplo de x0n, debería ser:
http://msdn.microsoft.com/en-us/library/ms188774.aspx
fuente
También es posible usar SQL dinámico y ejecutarlo con el comando exec:
fuente
O simplemente pones la variable entre paréntesis
fuente
fuente