a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > SQL Server > 正文

sqlserver 存儲過程中的top+變量使用分析(downmoon)

2020-10-30 19:09:53
字體:
來源:轉載
供稿:網友
存儲過程中的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 sp_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)
exec sp_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

邀月注:本文版權由邀月和博客園共同所有,轉載請注明出處。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久网站 | 2021天天干夜夜爽 | 精品国产污网站污在线观看15 | 欧美一区二区三区在线视频 | 久久www免费视频 | 日韩在线一区二区 | 日本99精品 | 欧美一区久久 | avsex国产 | 亚洲成色www久久网站瘦与人 | 综合一区| 成人国产精品久久久 | 亚洲激情视频在线观看 | 热久久这里只有精品 | 黄色在线免费 | 久草网站| 久久毛片 | 波多野结衣av中文字幕 | 一区不卡在线观看 | 免费黄色在线观看 | 久久国产精品久久久久久 | 国产精品一级在线观看 | 黄a在线观看 | 青草视频在线观看视频 | 国产羞羞视频在线观看 | 欧美一级艳片视频免费观看 | 看亚洲a级一级毛片 | 亚洲h网站| 欧美精品网站 | 91在线观看| 男女羞羞羞视频午夜视频 | 免费黄色欧美 | 天天天干天天射天天天操 | 一区二区三区视频免费在线观看 | 一本色道久久综合狠狠躁篇的优点 | 亚洲视频中文字幕 | 日韩成人一区二区 | 亚洲精选免费视频 | 1级毛片 | 国精产品一区二区三区黑人免费看 | 美女操网站 |