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

 

posted @ 2014-08-08 15:36  逍遥子k  阅读(269)  评论(0编辑  收藏  举报