SQLServer存储过程实现单条件分页
发布时间:2020-05-27 15:13:01 所属栏目:MsSql 来源:互联网
导读:本文主要介绍了SQLServer存储过程实现单条件分页的方法,具有很好的参考价值。下面跟着小编一起来看下吧
|
话不多说,请看代码: 0
SET @Pages_total = @Pages_total + 1
END
END
IF @Order_type = 1
BEGIN
SET @Var_QC = '<(select min'
SET @Order_QC = ' order by [' + @Rows_order + '] desc'
END
ELSE
BEGIN
SET @Var_QC = '>(select max'
SET @Order_QC = ' order by [' + @Rows_order + '] asc'
END
IF @PageIndex = 1
BEGIN
IF @Rows_condition != ''
SET @MainSQL_QC = 'select top ' + str(@PageSizes) + ' ' +@Rows_target + ' from [' + @Table_name + '] where ' + @Rows_condition + ' ' + @Order_QC
ELSE
SET @MainSQL_QC = 'select top ' + str(@PageSizes) + ' ' +@Rows_target + ' from [' + @Table_name + '] ' + @Order_QC
END
ELSE
BEGIN
IF @Rows_condition != ''
SET @MainSQL_QC = 'select top ' + str(@PageSizes) + ' ' +@Rows_target + ' from [' + @Table_name + '] where [' + @Rows_order + ']' + @Var_QC + '([' + @Rows_order + ']) from (select top ' + str((@PageIndex - 1) *@PageSizes) + ' [' + @Rows_order + '] from [' + @Table_name + '] where ' + @Rows_condition + ' ' + @Order_QC + ') as Tmep_QC) and ' + @Rows_condition + ' ' + @Order_QC
ELSE
SET @MainSQL_QC = 'select top ' + str(@PageSizes) + ' ' +@Rows_target + ' from [' + @Table_name + '] where [' + @Rows_order + ']' + @Var_QC + '([' + @Rows_order + ']) from (select top ' + str((@PageIndex - 1) *@PageSizes) + ' [' + @Rows_order + '] from [' + @Table_name + ']' + @Order_QC + ') as Tmep_QC)' + @Order_QC
END EXEC (@MainSQL_QC)
调用:execute pagination_basic 'UserDetail','*','','id','1','5','' 主要是末尾的语句,拆分下来便是这样: select top 每页数 列名 from [表名] where [排序字段名] < --1 倒序输出若列 小于之前页数的最小值 (select min ( [排序字段名] )from --2 获得一个指定列名中的最小值并输出 (select top (当前页-1)*每页数 [排序字段名] from [表名] where [条件] [排序类型]) --3 选择之前页数总数据倒序输出 as Tmep_QC)--4 建立一个名为Tmep_QC的临时表--2 获得一个指定列名中的最小值并输出 and [条件] [排序类型]--1 倒序输出若列 小于之前页数的最小值 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家! (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- sql-server – 将数据从SAP导出到SQL Server [已
- sql-server-2008 – 无法连接到Windows Vista上的
- sql-server – 没有特定表的MSSQL DataBase Back
- sql-server – 部署Visual Studio 2010数据库项目
- 数据库设计 – 每查询一次PostgreSQL VIEWS是否新
- 必须会的SQL语句(二) 创建表、修改表结构、删除表
- SQL Server EVENTDATA()函数来获取DDL 触发器信息
- haskell – bind可以由fmap和join组成,所以我们必
- sql-server-2008 – 在SQL Server Management St
- sql-server-2005 – 如何查找具有statistics_nor
热点阅读
