问题描述
alterprocpage@curpageint,--页码@rscountint,--每页显示记录@pagecountintoutput--记录总数asdeclare--@queryvarchar(200),@cntintselect@cnt=count(job_id)frommyjobsif@cnt%@rscount=0set@pagecount=@cnt/@rscountelseset@pagecount=@cnt/@rscount+1if@curpage<1set@curpage=1if@curpage>@pagecountset@curpage=@pagecount--set@query='selecttop@rscount*frommyjobswherejob_idnotin(selecttop@rscount*(@curpage-1)job_idfrommyjobs)go请教高手,有错误
解决方案
解决方案二:
服务器:消息170,级别15,状态1,过程page,行21第21行:'@rscount'附近有语法错误。服务器:消息170,级别15,状态1,过程page,行21第21行:'@rscount'附近有语法错误。
解决方案三:
最后一句的top后面如果跟的是一个变量或表达式的话必须加括号括起来,如果是常量整数的话可不加
解决方案四:
好像是sqlserver不支持把topn的这个n参数化。拼接sql语句吧
解决方案五:
引用3楼JeffChung的回复:
好像是sqlserver不支持把topn的这个n参数化。拼接sql语句吧
sql2000的确是不支持,但2005是支持的得加括号
时间: 2024-07-30 10:06:10