两款sql 分页存储过程代码

文章收藏了两款sql 分页存储过程代码,这二款存储过程是二款高效分页存储过程代码,如果你觉得自己写的语句不够,强的话,可以利用我们现成的高效分页存储过程实例代码。

文章收藏了两款sql 代码,这二款存储过程是二款高效分页存储过程代码,如果你觉得自己写的语句不够,强的话,可以利用我们现成的高效分页存储过程实例代码。

create procedure pages@tablenames varchar(200), –表名,可以是多个表,但不能用别名@primarykey varchar(100), –主键,可以为空,但@order为空时该值不能为空@fields varchar(800), –要取出的字段,可以是多个表的字段,可以为空,为空表示select *@pagesize int, –每页记录数@currentpage int, –当前页,0表示第1页@filter varchar(200) = ”, –条件,可以为空,不用填 where@order varchar(200) = ” –排序,可以为空,为空默认按主键升序排列,不用填 order byasbegindeclare @toprow varchar(12)declare @temppagesize varchar(12)if(len(@order)>0)beginset @order=’ order by ‘+@orderendelsebeginset @order=”endif (len(@filter)

实例代码二

 

alter procedure [dbo].[common_procedure_selectwithpage]
@sql varchar(5000),
@currentpageno int,
@pagesize int,
@totalnum int output
as
set nocount on
declare @sqlcmd varchar(5000)
—————————————— –查询数据
set @sqlcmd = ‘select * from (‘ + @sql + ‘) a where rowindex between ‘ + convert(varchar,(@currentpageno-1) * @pagesize + 1) + ‘ and ‘ + convert(varchar,@currentpageno * @pagesize)
exec(@sqlcmd) print (@sqlcmd)
—————————————— –求记录总数
if @totalnum = -1
begin
create table #temp1(num int)
insert into #temp1
exec(‘select count(*) from (‘ + @sql + ‘) a’)
select @totalnum=(select * from #temp1)
drop table #temp1
end

用法很简单,但必须在传入的sql中使用row_number() over(…) as rowindex :
declare @sql varchar(5000)
declare @currentpageno int
declare @pagesize int
declare @totalnum int

set @currentpageno = 100
set @pagesize = 10
set @totalnum = -1
set @sql = ‘ select *, row_number() over (order by 排序字段) as rowindex from 表名 a with (nolock) ‘

exec [dbo].[common_procedure_selectwithpage] @sql,@currentpageno,@pagesize,@totalnum output

select @totalnum

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1836326.html

(0)
上一篇 2025年2月21日 22:06:30
下一篇 2025年2月21日 22:06:46

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • PHP7.0中的分布式存储技术有哪些实现方式?

    随着互联网应用的发展,数据存储的需求越来越大。传统的数据存储方式无法满足大容量、高可靠性,高性能、高性价比等要求。而分布式存储技术,则能够解决这些问题。php7.0作为一种流行的后端语言,也支持分布式存储技术,本文将介绍php7.0中的分布…

    编程技术 2025年2月23日
    100
  • 如何利用PHP7的类型声明编写可读性更强的代码?

    如何利用PHP7的类型声明编写可读性更强的代码? 随着PHP7的发布,类型声明成为了PHP的一个重要特性。通过类型声明,我们可以在函数和方法中明确指定输入参数和返回值的数据类型。这可以有效地提高代码的可读性和健壮性。在本文中,我们将介绍如何…

    2025年2月23日
    100
  • 开源SQLJet 1.0.0发布

    SQLJet是流行的SQLite数据库管理系统的一个独立纯Java实现,也是一个提供API的软件库,这个API使得Java应用程序可以读取和修改SQ SQLJet是流行的SQLite数据库管理系统的一个独立纯Java实现,也是一个提供API…

    数据库 2025年2月23日
    100
  • PHP如何处理表单提交和数据存储?

    php是一种广泛应用于web开发的脚本语言,它具有处理表单提交和数据存储的强大能力。本文将详细介绍php如何处理表单提交和数据存储的方法和技巧。 一、表单提交当用户在网页上填写表单并点击提交按钮时,表单数据将被发送到服务器。PHP可以通过使…

    编程技术 2025年2月23日
    100
  • 如何在PHP实现分页和数据展示?

    如何在php实现分页和数据展示? 在当今的互联网应用中,数据展示和分页是常见且重要的功能。在PHP的开发中,我们可以通过一些技术和方法来实现数据的分页和展示,从而提供更好的用户体验。本文将介绍一些常用的PHP工具和技术,帮助读者理解如何实现…

    编程技术 2025年2月23日
    100
  • 如何处理Vue开发中遇到的分页加载数据问题

    如何处理vue开发中遇到的分页加载数据问题 在现代Web应用程序中,数据的分页加载是一个常见的需求。特别是在Vue开发中,我们经常会遇到需要加载大量数据并按页进行展示的场景。然而,分页加载数据并不是一件简单的事情,特别是当数据量巨大或涉及到…

    编程技术 2025年2月23日
    100
  • 解析PHP安全封装与库设计技术

    随着互联网的快速发展,web应用程序的安全性成为了一个越来越重要的问题。而php作为一种常用的服务器端编程语言,其安全性更是需要重视。本文将探讨php中的安全代码封装与库设计技术,以帮助开发者开发更加安全可靠的web应用程序。 了解安全风险…

    编程技术 2025年2月23日
    100
  • PHP开发中分页和数据展示的解决方案

    如何处理php开发中的分页和数据展示问题 随着互联网的普及和信息技术的发展,PHP作为一种强大的服务器端脚本语言被广泛应用于网站开发中。在PHP开发过程中,经常会遇到需要展示大量数据或者对数据进行分页处理的情况。本文将介绍如何处理php开发…

    编程技术 2025年2月23日
    100
  • 一次简单的SQL优化给我的经验–索引不可用的情况

    有一天我遇到了一个同事的求助,他让我帮忙优化一个SQL,这个SQL执行时间很长。于是我查询了执行计划,发现这个SQL竟然要进行一次 有一天我遇到了一个同事的求助,他让我帮忙优化一个SQL,这个SQL执行时间很长。于是我查询了执行计划,发现这…

    数据库 2025年2月23日
    300
  • Greenplum获取一个SQL结果的字段名

    在Greenplum中,对于任意一个SQL,我们想获取这个SQL执行后的字段名是比较难的。比方说在写一个通用工具的时候,使用copy命令将一 在Greenplum中,对于任意一个SQL,我们想获取这个SQL执行后的字段名是比较难的。 比方说…

    数据库 2025年2月23日
    100

发表回复

登录后才能评论