sqlserver 存儲(chǔ)過程中的top+變量使用分析(downmoon)
Create proc getWorkPlan2
(@intCounter int
,@lngUserID int)
as
select Top 5 lngWorkID,strWorkName,strExecHumanName,strBeginDate
from worklist where lngExecHumanID= @lngUserID
order by lngWorkID desc
現(xiàn)在想將這里的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 '
老是提示 在關(guān)鍵字 'convert' 附近有語法錯(cuò)誤。
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 '
)
后來,經(jīng)saucer(思?xì)w)大哥提醒,發(fā)現(xiàn)可以用以下語句實(shí)現(xiàn)(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
邀月注:本文版權(quán)由邀月和博客園共同所有,轉(zhuǎn)載請(qǐng)注明出處。
相關(guān)文章
SQL Server中的XML數(shù)據(jù)進(jìn)行insert、update、delete操作實(shí)現(xiàn)代碼
SQL Server 2005/2008增加了對(duì)XML數(shù)據(jù)的支持,同時(shí)也新增了幾種操作XML的方法,本文主要以SQL Server 2008為例介紹如何對(duì)XML數(shù)據(jù)進(jìn)行insert、update、delete2011-10-10Sql server 2005安裝時(shí)ASP.Net版本注冊(cè)要求警告的解決方法
這篇文章主要介紹了Sql server 2005安裝時(shí)ASP.Net版本注冊(cè)要求警告的解決方法,需要的朋友可以參考下2015-01-01Sql Server2005實(shí)現(xiàn)遠(yuǎn)程備份數(shù)據(jù)庫(kù)
相信大家都在當(dāng)心數(shù)據(jù)庫(kù)的丟失,這也是每個(gè)開發(fā)者頭痛的一件事件,因?yàn)檎谶\(yùn)行的服務(wù)器及數(shù)據(jù)庫(kù)也在這臺(tái)服務(wù)器上2014-04-04安裝SqlServer2005時(shí)版本變更檢查 (警告)
在安裝SqlServer2005時(shí)遇到“版本變更檢查 (警告) ”問題導(dǎo)致安裝失敗,警告提示如下:版本變更檢查 (警告)2014-07-07PowerDesigner16生成SQL2005列注釋的方法
使用PowerDesigner16生成SQL2005列注釋,其實(shí)很簡(jiǎn)單,下面我們就看看方法2013-11-11SQLServer2005混合模式登錄配置(用戶登錄錯(cuò)誤18452,233,4064)
這篇文章主要介紹了SQLServer2005混合模式登錄配置(用戶登錄錯(cuò)誤18452,233,4064),需要的朋友可以參考下2014-07-07安裝SQL2005提示 找不到任何SQL2005組件的問題解決方案
當(dāng)我在安裝SQL2005的時(shí)候出錯(cuò)了(SQL2005是企業(yè)版的)。由于第一次安裝SQL2005,要求把VS2008的SQL服務(wù)關(guān)了,做了,安裝完畢。2009-08-08SQL Server創(chuàng)建維護(hù)計(jì)劃失?。⊿QL Server:14234 錯(cuò)誤)的解決方法
這篇文章主要介紹了SQL Server創(chuàng)建維護(hù)計(jì)劃失?。⊿QL Server:14234 錯(cuò)誤)的解決方法,最后使用SQLServer2005 安裝向?qū)Ы鉀Q問題,需要的朋友可以參考下2014-08-08