TSQL:选择最新的N行,如果未指定则选择全部

时间:2014-11-18 20:50:43

标签: sql sql-server tsql stored-procedures

我想获得最新的N行表格 像这样:

CREATE PROCEDURE [dbo].[spProducts]
    @Rows int
AS
    SELECT TOP(50) *
    FROM tblProduct

但是如果在input-param @Rows int中没有指定行数,则应输出所有行(select *(all))
我是否需要实现If / Else语句,或者是否有可以将输入参数@Rows int转换为星号的快捷方式?

1 个答案:

答案 0 :(得分:0)

有效

CREATE PROCEDURE [dbo].[spProducts]
    (@Rows int =null)
AS
     SELECT TOP(ISNULL(@Rows,0)) *
     FROM tblProduct
        UNION SELECT *
    FROM tblProduct
        WHERE @Rows is null

积分转到Naveen Kumar,tyvm!