--至查询student表的第3、4行--分页查询 ★必须要用主键Sno来排除,防止重复 select *from Student select top 2 *from Student where Sno not in(select top 2 Sno from Student)--第二页,屏蔽掉当前页的前面页的内容,前面top是取屏蔽之后的数据的一页显示条数 --2行为一页 select top 2 *from Student where Sno not in(select top 4 Sno from Student)--第三页
create proc wannengfenye--只对一个列有主键的表的分页,符合主键的不能分 @nowye int,--当前页 @numbers int, --一显示行数 @tablename varchar(50),--表名 @zhujian varchar(50) as exec ('select top ('+@numbers+') *from '+@tablename+' where '+@zhujian+' not in (select top (('+@nowye+'-1)*'+@numbers+') '+@zhujian+' from '+@tablename+' )') --直接写表名from不知别,先进行拼接字符串 go exec wannengfenye 2,1,'student','sno'--然后执行自动把输入参数字符串转换成exce语句