create table A
(
   T_id int
)insert A select 1
insert A select 3
insert A select 4
insert A select 5
insert A select 3
insert A select 3
insert A select 3
insert A select 4
insert A select 4
insert A select 7
insert A select 7
insert A select 8
insert A select 9
insert A select 0
insert A select 0
insert A select 2
select * from Adrop  proc Test_F
create proc Test_F(@p int,@p_number int)  --@p 页码  --@p_number 每页多少个
as
  declare @T table (ID int Identity(1,1),T_id int)
  declare @Maxp int
  declare @T_sql varchar(8000)
  set @T_sql=''
  insert @T select * from A
  if exists (select 1 from @T)
  begin
    if (select count(*) from @T)%@p_number>0
        set @Maxp=(select count(*) from @T)/@p_number+1
    else
       set @Maxp=(select count(*) from @T)/@p_number    if @Maxp>=@p 
       select * from @T where ID between @p_number*(@p-1)+1  and @p*@p_number
  end
exec Test_F 1,10