En SQL Server 2005 y versiones posteriores, puede parametrizar el comando superior.
El siguiente código es de MSDN
USE AdventureWorks;
GO
DECLARE @p AS int;
SELECT @p=10
SELECT TOP(@p)*
FROM HumanResources.Employee;
GO
En versiones anteriores de SQL Server, deberá usar el conteo de filas o el sql dinámico.