SQL存储过程中,传参获取指定条数的记录
假设传入参数 为 @TopCount
直接写 Select top @topcount * from table 是不行的。
可以考虑使用SET ROWCOUNT
示例如下
ALTER PROCEDURE [dbo].[P_CSM_SelectHandleResult] @TopCount int=50 AS BEGIN SET NOCOUNT ON; set rowcount @TopCount SELECT * from HandleResult order by HandleIndex desc END
这样就会只返回指定行数的记录,相当于
SELECT top 50 * from HandleResult order by HandleIndex desc