请数据库高手帮我看一看我这个存储过程错在哪里(在线等)

来源:百度知道 编辑:UC知道 时间:2024/06/24 06:10:01
ALTER PROCEDURE dbo.GetPostionByDateTimePageCode

(
@DateTime datetime,
@Count int,
@PageCode int
)

AS
declare @sql varchar(1000)
declare @t int
set @t=@Count*(@pageCode-1)
set @sql='select top '+cast(@Count as varchar)+' * from position where endDate<'+cast(@DateTime as varchar)+' and id not in (select top'+
cast(@t as varchar)+' id from position where endDate<'+cast(@DateTime as varchar)+')'
exec(@sql)
RETURN

我想实现分页,pagecode表示页码,count表示每页显示数据数量,datetime是传入的当前时间用于筛选数据,不知道错哪里。。请各位大大帮帮忙。。
貌似加个空格也不行。。我其他数据这样分页就可以,就是这个按时间查询不行,我去用DIFF这方法试试。不过还是谢谢你哈。对了你能不能把你的分页代码发给我,我研究下。谢了!我的邮箱是zaixy_8802@126.com

语法没有问题啊,不过我听说用那个not in会全表扫描,会降低速度
我也想用数据库分页,有一段代码已经写好了,如果你要的话可以发给你,不过代码比你的复杂多了;另外,你最后那个top忘记在后面加空格了哦