如何从运行时传递n值的表中获取前n行?
答案 0 :(得分:4)
在SQL Server 2005及更高版本中,您实际上可以参数化top命令。
以下代码来自MSDN
USE AdventureWorks;
GO
DECLARE @p AS int;
SELECT @p=10
SELECT TOP(@p)*
FROM HumanResources.Employee;
GO
在早期版本的SQL Server中,您需要使用rowcount或动态sql。
答案 1 :(得分:0)
您可以使用set rowcount
.获取前100个,例如:
declare @myrowcount = 100
set rowcount @myrowcount
select ..... from ... where...order by
因为你可以使用以下任何一种:
SET ROWCOUNT {number | @number_var}