SQL Top 后面跟变量

转载至:http://www.cnblogs.com/tianlong0072/archive/2007/10/28/940766.html



ALTER PROCEDURE Up_Get_UserBaseInfo_List

 
 (
 @User_Type varchar(10),
 @PageSize int,
 @MaxId int
 )
 
AS
if @MaxId =0
begin
 exec ('select top '+@PageSize+' [User_Id],UserBase_Email,UserBase_QQ,UserBase_Tel,UserBase_RealName,UserBase_Birthday,UserBase_Sex,UserBase_Address
  from V_UserDetails where User_UIfuVerify=1 and User_Type='+@User_Type)
 end
else
   exec ( 'select top '+@PageSize+' [User_Id],UserBase_Email,UserBase_QQ,UserBase_Tel,UserBase_RealName,UserBase_Birthday,UserBase_Sex,UserBase_Address
  from V_UserDetails where User_UIfuVerify=1 and User_Type='+@User_Type+' and ([User_Id]>(select max([User_Id]) from  (select Top '+@MaxId+' [User_Id] from V_UserDetails where User_Type='+@User_Type+') as t))')


SQL SERVER 2000不支持   TOP   +   变量 只能用动态SQL解决盖子看大家都有这个需求  
于是呼   SQL   SERVER   2005   支持这个功能了
具体动态参考上术代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值