set quoted_identifier on

go

set ansi_nulls on

go

create proc execbypage

@sqlquery varchar(2000), --//输入参数:sql检索语句或表名

@pagesize int, --//输入参数:每页显示记录条数

@pageindex int --//输入参数:当前页码

as

set nocount on

set ansi_warnings off

declare @tmptablename varchar(50)

set @tmptablename = '##tb1516_' + replace(cast(newid() as varchar(40)),'-','') --//生成随机临时表名称

declare @subindex int

set @subindex = charindex('from',@sqlquery)

if (@subindex > 0)

begin --//带from的标准检索语句

declare @sqlquery1 varchar(2000)

declare @sqlquery2 varchar(2000)

set @sqlquery1 = substring(@sqlquery,1,@subindex - 1)

set @sqlquery2 = substring(@sqlquery,@subindex,len(@sqlquery))

set @sqlquery = @sqlquery1 + ',identity(numeric,1,1) as id1516 into ' + @tmptablename + ' ' + @sqlquery2

end

else --//不带from的表名

begin

set @sqlquery = 'select *,identity(numeric,1,1) as id1516 into ' + @tmptablename + ' from' + @sqlquery

end

exec(@sqlquery) --//建立并初始化临时表数据

declare @indexstart varchar(20),@indexend varchar(20)

set @indexstart = cast((@pageindex-1)*@pagesize+1 as varchar(20)) --//数据起始行id

set @indexend = cast(@pageindex * @pagesize as varchar(20)) --//数据结束行id

exec('select * from ' + @tmptablename + ' where id1516 between ' + @indexstart + ' and ' + @indexend) --//检索该页数据

exec('select max(id1516) as recordcount from ' + @tmptablename) --//提取总条数

exec('drop table ' + @tmptablename) --//删除临时表

go

set quoted_identifier off

go

set ansi_nulls on

go

mysql subindex_mssql server sql分页存储过程相关推荐

  1. SQL SERVER 通用分页存储过程

    SQL SERVER 通用分页存储过程 从SQLSERVER 2005开始,提供了Row_Number()函数,利用函数生成的Index来处理分页,按照正常的逻辑思维都是传pageIndex和page ...

  2. SQL Server OFFSET 分页存储过程

    SQL Server OFFSET 分页存储过程 --参数值 SET @sqlquert=N'SELECT * FROM dbo.tbCOM_Job ORDER BY Job_ID ';--这里一定得 ...

  3. 完整SQL分页存储过程(支持多表联接)

    Code /*********************************************************   * 作    用:数据分页(完整SQL分页存储过程(支持多表联接)) ...

  4. Sql Server通用分页存储过程

    sql server2000分页方式很多,效率吗  当到达10万级以上就有些吃力了,这里暂时不例出来了 sql server2005以上就有了row_number 也是一大进步,详情如下参考 Sql ...

  5. SQL 分页存储过程(转)

    因为邹建的分页存储过程不能返回记录总数,所以每次分页还又要统计一次,所以自己在里面加了个返回记录数,这下就好用了. @iPageCount int OUTPUT  --定义输出变量,放在@QueryS ...

  6. 总结的几个 sql 分页存储过程

    06 CREATE PROCEDURE [dbo].[sp_All_Pager] 07     @tblName nvarchar(255),--表名 08     @fldNames nvarcha ...

  7. sql server 2005分页存储过程和sql server 2000分页存储过程(摘)

    USE [svnhost] GO /****** 对象:  StoredProcedure [dbo].[up_Page2005]    脚本日期: 05/21/2008 11:27:05 ***** ...

  8. MS SQL 分页存储过程

    最近换了家新公司,但是新公司没有使用分页的存储过程.那我就自个写一个往项目上套 (效率怎么样就不怎么清楚没有详细的测试过) CREATE PROCEDURE [dbo].[pro_common_pag ...

  9. SQL Server分页存储过程实践(图解)

    下面来对SQL Server分页存储过程进行一下实做.图解成功的各个步骤. 一 找到大数据量的示例表 分页都是针对大记录数的表:反之有大记录数的表,可能就需要分页.例如银行用户表,就会上千万.下面先做 ...

最新文章

  1. 网站核心关键词一定要控制在五个之内更方便集中优化
  2. 将InputStream写入本地文件
  3. 2019春第四周作业软件
  4. KVM虚拟机相关步骤
  5. STATS 4014 Advanced Data Science
  6. ROS入门-4.安装ROS系统(ubuntu20.04版本安装ros的noetic版本)
  7. RuntimeException
  8. CentOS7忘记root密码的解决方法
  9. [bzoj2299][HAOI2011]向量
  10. Java项目转换成Web项目
  11. Simple Mail Transfer Protocol --- SMTP协议
  12. 一看就懂-grep命令详解
  13. Swagger注解 详解
  14. lol人物模型提取(七)
  15. VMware下安装Raspbian树莓派系统
  16. MacBook Pro做为Windows电脑的扩展屏【已解决】
  17. 「Computer keyboard」- 在键盘中,手指的摆放位置 @20210331
  18. threeJS 创建逼真地球
  19. 解决uniapp手机浏览器视频封面不显示问题
  20. MarkDown添加图片的三种方式

热门文章

  1. java 最优化_java-多维度求最优解
  2. 字符串、字符数组、字符串数组
  3. Platform Invoke and Marshaling Data: [1/3]
  4. iOS 打包.framework(包括第三方、图片、xib、plist文件)详细步骤及需要注意的地方...
  5. CH 5102Mobile Service题解
  6. python 将一个字符list的列表扁平化成了一个list
  7. SpringCloud学习--微服务架构
  8. 【windows phone】CollectionViewSource的妙用
  9. Java打war包or打jar包
  10. 20155220 实验三 敏捷开发与XP实践 实验报告