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
原文地址:https://www.cnblogs.com/xyz0835/p/3899525.html