这条SQL语句有错误吗?

weddingin2008 2005-04-05 09:54:37
create proc max_speed
@table nvarchar(20),
@currentpage int,
@pagesize int,
@orderby nvarchar(20)
as
SELECT TOP @pagesize *
FROM @table
WHERE (@orderby NOT IN
(SELECT TOP @pagesize*@currentpage id
FROM @table
ORDER BY @orderby))
ORDER BY @orderby


Server: Msg 170, Level 15, State 1, Procedure max_speed, Line 7
Line 7: Incorrect syntax near '@pagesize'.
Server: Msg 170, Level 15, State 1, Procedure max_speed, Line 10
Line 10: Incorrect syntax near '@pagesize'.
...全文
55 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
子陌红尘 2005-04-05
  • 打赏
  • 举报
回复
create proc max_speed
@table nvarchar(20),
@currentpage int,
@pagesize int,
@orderby nvarchar(20)
as
begin
declare @s varchar(1000)
set @s = 'SELECT TOP '+rtrim(@pagesize)+' * FROM '+@table+'
WHERE ('+@orderby+' NOT IN
(SELECT TOP '+rtrim(@pagesize*@currentpage)+' id
FROM '+@table+'
ORDER BY '+@orderby+'))
ORDER BY '+@orderby+''
exec(@s)
end
weddingin2008 2005-04-05
  • 打赏
  • 举报
回复
咱改?
yesyesyes 2005-04-05
  • 打赏
  • 举报
回复
top后不能用变量
只能拼字符串

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧