sqlserver 存储过程中的top+变量使用分析(downmoon)

时间:2024-01-13 13:03:41 

存储过程中的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


现在想将这里的Top5 改为变量· Top @intCounter
如下


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


老是提示在关键字 'convert' 附近有语法错误。
OK!
于是改为


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)
execsp_executesql ('select Top '+@strCounter+' lngWorkID,strWorkName,strExecHumanName,strBeginDate from worklist where lngExecHumanID= '
+@strUserID +' order by lngWorkID desc '
)


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


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


邀月注:本文版权由邀月和博客园共同所有,转载请注明出处。

标签:存储过程,top
0
投稿

猜你喜欢

  • 高效的mysql分页方法及原理

    2024-01-20 04:23:46
  • sql server几种Join的区别测试方法

    2024-01-13 14:54:18
  • Python中使用第三方库xlutils来追加写入Excel文件示例

    2022-05-23 10:04:11
  • python引入导入自定义模块和外部文件的实例

    2023-01-25 10:02:18
  • python sys模块使用方法介绍

    2021-02-03 09:19:16
  • 通过创建SQLServer 2005到 Oracle10g 的链接服务器实现异构数据库数据转换方案

    2024-01-28 00:05:46
  • Python Numpy,mask图像的生成详解

    2022-12-03 01:08:45
  • Python实现七大查找算法的示例代码

    2021-05-28 07:33:35
  • ASP压缩ACCESS数据库实例

    2009-01-19 11:47:00
  • JavaScript实现点击按钮复制指定区域文本(推荐)

    2023-08-22 17:36:30
  • “语法错误 (逗号) 在查询表达式id=20, 21”,怎么处理这个逗号?

    2009-09-18 14:52:00
  • pandas分组聚合详解

    2023-06-28 15:50:25
  • 超半数中文网页一年内将“消失”

    2008-03-08 12:49:00
  • Python数据可视化图实现过程详解

    2022-08-30 19:24:17
  • SELECT… FOR UPDATE 排他锁的实现

    2024-01-19 12:30:16
  • 热门问题python爬虫的效率如何提高

    2023-06-11 03:21:40
  • C#中使用SQLite数据库的方法介绍

    2024-01-26 00:31:49
  • 约瑟夫问题的Python和C++求解方法

    2023-12-05 15:09:28
  • 详解golang 模板(template)的常用基本语法

    2024-04-23 09:45:48
  • 教学演示-UBB,剪贴板,textRange及其他

    2008-01-27 13:46:00
  • asp之家 网络编程 m.aspxhome.com