declare @strsql varchar(200)
set @strsql='select * from jobs'
exec (@strsql)
go
create proc pageutil
@tblnamevarchar(100),--表名
@pkname varchar(100),--主键名称
@pgsize int,--每页数据大小
@pg int--当前页码
as
declare @toid int,
@strsql varchar(200)
set @toid=(@pg-1)*@pgsize
set @strsql='select top '+cast( @pgsize as varchar(10)) +' * from
'+@tblname+'
where
'+@pkname+'
not in(
select top '+cast(@toid as varchar(10))+' '+@pkname+' from '+@tblname+' order by '+@pkname+' ) order by '+@pkname
exec (@strsql)
@tblname
@pkname
@pgsize
@pg
as
declare @toid int,
@strsql varchar(200)
set @toid=(@pg-1)*@pgsize
set @strsql='select top '+cast( @pgsize as varchar(10)) +' * from
select top '+cast(@toid as varchar(10))+' '+@pkname+' from '+@tblname+' order by '+@pkname+' ) order by '+@pkname
exec (@strsql)
使用时只需要传入表名,主键名,页大小,页码(从1开始)例如:
exec pageutil 'jobs','job_id',3,4
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。