select top 5 字段 form 表 where 条件
我想top 5   5为输入的参数 就是有客户决定要显示几条就几条 是存储过程
select top @5 字段 form 表 where 条件
可以实现的不

解决方案 »

  1.   

    declare @sql   varchar(1000)
    declare @num   varchar(10)
    set @sql='select top '+@num +'字段 from 表 where 条件'
    exec(@sql)
      

  2.   

    如楼上,这个不能参数化地,只能拼接sql
      

  3.   

    我是使用存储过程的 用sqlhelp实现存储过程的  
      

  4.   

    declare @num varchar(10)
    把这个当成参数传进去就可以了
      

  5.   

    as
    @sql varchar(500),
    @n int
    begin
    set @sql='select top '+@n +'字段 from 表 where 条件'
    exec(@sql)
    end
    go
      

  6.   

    ALTER PROCEDURE [dbo].[proc_CardInfo_ADD]
    declare  @num int
     AS 
       BEGIN
    select top @num id from tb where 1=1
       END
      

  7.   


    上面的方法都可以用啊。
    这个只能传参数或者拼SQL
      

  8.   

    确实放到逻辑层用C#写比较容易实现,用select语句还真不太容易实现,尝试用sql函数,不过也和存储过程差不多。