/* @tablename varchar(100), AS BEGIN DECLARE @cmd varchar(8000) SET @op = < SET @uprecord=@curpage * @page_record SET @cmd = @cmd + ; SELECT COUNT(*) FROM +@tablename+ WHERE +@where EXEC(@cmd) END
数据库分页存储过程,支持倒序和升序
参数说明:
@tablename:为搜索表名
@tablefield:为表的字段,约定为表的主键,
@where:为搜索表名,要显示所有记录请设为”1=1″
@orderby:为搜索结果排序,如order by id desc
@fieldlist:为字段列表,如userid, username
@curpage:当前页码
@page_record:每页记录条数
@Sort:排序标识(如果是倒序排,参数值为desc,为升序,参数值为asc,跟orderby参数是对应的)
结果: 返回表tablename中满足条件where的第curpage页的page_record条记录,结果按orderby排序
*/
CREATE PROCEDURE proc_CommonPaging
@tablefield varchar(20),
@where varchar(5000),
@orderby varchar(500),
@fieldlist varchar(1000),
@curpage int,
@page_record int,
@sort varchar(8)
DECLARE @uprecord int
DECLARE @Op varchar(2) — 操作符
DECLARE @max_min varchar(4) — 最大/最小计算
SET @max_min = MIN
IF @sort = asc
BEGIN
SET @Op = >
SET @max_min = MAX
END
IF @curpage = 0
SET @cmd = SELECT TOP +cast(@page_record AS NVARCHAR)+ +@fieldlist+ FROM +@tablename+ WHERE +@where+ +@orderby
ELSE
SET @cmd = SELECT TOP +cast(@page_record AS NVARCHAR)+ +@fieldlist+ FROM +@tablename+ WHERE +@where+ AND +@tablefield+
+@op+ (SELECT +@max_min+(+@tablefield+) FROM (SELECT TOP +cast(@uprecord AS NVARCHAR)+ +@tablefield+ FROM +@tablename+ WHERE
+@where+ +@orderby+) AS TmpTbl ) AND +@where+ +@orderby
PRINT(@cmd)
GO
最新分页存储过程(增加了选择字段列表、排序方式参数)_数据库技巧
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 最新分页存储过程(增加了选择字段列表、排序方式参数)_数据库技巧
相关推荐
-      sql语句中的判断功能的使用方法
-      sql语句中的判断功能的使用方法
-      SQL语言中去掉小数点有效数字后面的所有0
-      ASP连接各种数据库的代码
-      在sql语句中实现md5功能
-      给access数据库减肥
-      asp连接access数据库代码(2)
-      更改 SQL Server 登录模式