zoukankan      html  css  js  c++  java
  • 存储过程中的top+变量

    存储过程中的TOP后跟一个变量会如何?

    Create proc getWorkPlan2
    (@intCounter int
    ,@lngUserID int)
      
    as
    select Top 5 lngWorkID,strWorkName,strExecHumanName,strBeginDate
    from worklist where lngExecHumanID= @lngUserID
    order by lngWorkID desc

      现在想将这里的Top 5 改为变量· Top @intCounter

      如下

    ALTER proc getWorkPlan2
    (@intCounter int
    ,@lngUserID int)
    as  
    exec ('select Top '+convert(varchar(10),@intCounter)+' lngWorkID,strWorkName,strExecHumanName,strBeginDate from worklist where lngExecHumanID= '
    +convert(varchar(10),@lngUserID) +' order by lngWorkID desc '

      老是提示 在关键字 'convert' 附近有语法错误。

      于是改为

    ALTER proc getWorkPlan2
    (@intCounter int
    ,@lngUserID int)
      
    as
    declare @strCounter varchar(10)
    set @strCounter=convert(varchar(10),@intCounter)
    declare @strUserID varchar(10)
    set @strUserID=convert(varchar(10),@lngUserID)
    exec ('select Top '+@strCounter+' lngWorkID,strWorkName,strExecHumanName,strBeginDate from worklist where lngExecHumanID= '
    +@strUserID +' order by lngWorkID desc '
    )

      OK!

      后来,经saucer(思归)大哥提醒,发现可以用以下语句实现:

    Alter proc getWorkPlan2
    (
    @intCounter int
    ,@lngUserID int
    )
    as
    set rowcount @intCounter
    select lngWorkID,strWorkName,strExecHumanName,strBeginDate
    from worklist where lngExecHumanID= @lngUserID
    order by lngWorkID desc
  • 相关阅读:
    python绘图02
    python验证码
    Python绘图
    idea maven web项目tomcat本地部署
    Spark入门之环境搭建
    假期计划
    This program may be freely redistributed under the terms of the GNU GPL
    大学生恋爱观调查报告
    Python数据分析TMDb 5000 Movie Database电影数据分析
    动态添加HTML时onclick函数参数传递
  • 原文地址:https://www.cnblogs.com/521msh/p/1885094.html
Copyright © 2011-2022 走看看