btkuangniu
2014-10-08 01:00
浏览 712

实现真分页SQL存储过程 求大家帮忙看看 小弟在这谢谢了

Sql存储过程如下:
alter proc P_GetPagedAttManagerByCondition
@DeptID int,
@PageSize int,--一页显示的几条数据
@PageIndex int--当前是第几页
as
begin
Declare @sql1 nvarchar(2000),@sql2 nvarchar(2000),@sql nvarchar(2000)
set @sql1='select top @PageSize1 u.UserID,u.UserName,d.DeptName from UserInfo u inner join Department d on u.DeptID=d.DeptID where u.DeptID=@id'
set @sql2='select top (@PageSize1*(@PageIndex1-1)) u.UserID from UserInfo u inner join Department d on u.DeptID=d.DeptID where u.DeptID=@id'
set @sql=@sql1+'and u.UserID not in'+'('+@sql2+')'
exec sp_executesql @sql,N'@id int,@PageSize1 int,@PageIndex1 int',@DeptID,@PageSize,@PageIndex
end
execute P_GetPagedAttManagerByCondition 4,4,1

一直报错 消息 102,级别 15,状态 1,第 1 行 '@PageSize1' 附近有语法错误。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

相关推荐 更多相似问题