/****** Object: StoredProcedure [dbo].[usp_selectbypage] Script Date: 01/14/2020 07:51:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[usp_selectbypage]
@tablename varchar(10),
@columnname varchar(10),
@page varchar(5), ---页数
@pagecount varchar(5), --每页行数
@recordcount int output,--总的记录的条数
@pageamount int output --总页数
as
begin
declare @strsql nvarchar(255)
set @strsql = 'select * from (
select ROW_NUMBER() over (order by ' + @columnname + ' desc) as rowid,* from ' + @tablename + ') t
where t.rowid >=(('+@page+'-1)*'+@pagecount+'+1) and t.rowid <= ('+@page+'*'+@pagecount+')'
exec (@strsql) -----不是有效的标识符 sql,exec执行时必须加()
set @strsql = 'select @count=count(*) from ' + @tablename
exec sp_executesql @strsql,N'@count int output',@recordcount output
select @pageamount = CEILING(@recordcount*1.0/@pagecount)
end
相关文章
- 10-23Sql Service 存储过程、触发器
- 10-23sql 高性能存储过程分页
- 10-23EF core的原生SQL查询以及用EF core进行分页查询遇到的问题
- 10-23查询死锁存储过程
- 10-23PL/SQL 存储函数和过程
- 10-23sql 语句随机时间存储过程
- 10-23SQL存储过程详解
- 10-23Sql存储过程
- 10-23SQL存储过程基于字段名传入的字符串拼接.
- 10-23SQL 存储过程 传入数组参数