Sql server TOP N作为存储的过程参数而不使用动态SQL?
我有一个简单的存储过程,它返回最差的20个百分比。SP的外观如下所示:Sql server TOP N作为存储的过程参数而不使用动态SQL?,sql-server,tsql,stored-procedures,Sql Server,Tsql,Stored Procedures,我有一个简单的存储过程,它返回最差的20个百分比。SP的外观如下所示: Create procedure dbo.usp_GetAwfulSalesmen as select top 20 AvgSales, Name from Sales order by AvgSales ASC 但假设我想退回前20名以外的东西 有没有一种方法可以将top N发送到存储过程,使其成为一个参数而不是一个固定值 我不想使用动态sql 谢谢。将INT参数添加到存储过程(即@Top) 这很简单。谢谢。@rbha
Create procedure dbo.usp_GetAwfulSalesmen
as
select top 20 AvgSales, Name from Sales order by AvgSales ASC
但假设我想退回前20名以外的东西
有没有一种方法可以将top N发送到存储过程,使其成为一个参数而不是一个固定值
我不想使用动态sql
谢谢。将INT参数添加到存储过程(即@Top)
这很简单。谢谢。@rbhattup有些东西是。享受它们。他们很少
Select Top (@Top) AvgSales, Name
From Sales
Order by AvgSales ASC