当前位置:  数据库>sqlserver

三种SQL分页查询的存储过程代码

    来源: 互联网  发布时间:2014-10-04

    本文导语:  代码如下: --根据MAX(MIN)ID CREATE PROC [dbo].[proc_select_id] @pageindex int=1,--当前页数 @pagesize int=10,--每页大小 @tablename VARCHAR(50)='',--表名 @fields VARCHAR(1000)='',--查询的字段集合 @keyid VARCHAR(50)='',--主键 @condition NVARCHAR(1000)='',--查询条件 @order...

代码如下:

--根据MAX(MIN)ID
CREATE PROC [dbo].[proc_select_id]
@pageindex int=1,--当前页数
@pagesize int=10,--每页大小
@tablename VARCHAR(50)='',--表名
@fields VARCHAR(1000)='',--查询的字段集合
@keyid VARCHAR(50)='',--主键
@condition NVARCHAR(1000)='',--查询条件
@orderstr VARCHAR(500),--排序条件
@totalRecord BIGINT OUTPUT--总记录数
AS
IF ISNULL(@orderstr,N'')=N'' SET @orderstr=N' ORDER BY '+@keyid+N' DESC '
IF ISNULL(@fields,N'')=N'' SET @fields=N'*'
IF ISNULL(@condition,N'')=N'' SET @condition=N'1=1'
DECLARE @sql NVARCHAR(4000)
--IF(@totalRecord IS NULL)
--BEGIN
SET @sql=N'SELECT @totalRecord=COUNT(*)'
+N' FROM '+@tablename
+N' WHERE '+@condition
EXEC sp_executesql @sql,N'@totalRecord INT OUTPUT',@totalRecord OUTPUT
--END
IF(@pageindex=1)
BEGIN
SET @sql=N'SELECT TOP '+STR(@pagesize)+N' '+@fields+N' FROM '+@tablename+N' WHERE '+@condition+N' '+@orderstr
EXEC(@sql)
END
ELSE
BEGIN
DECLARE @operatestr CHAR(3),@comparestr CHAR(1)
SET @operatestr='MAX'
SET @comparestr='>'
IF(@orderstr'')
BEGIN
IF(CHARINDEX('desc',LOWER(@orderstr))0)
BEGIN
SET @operatestr='MIN'
SET @comparestr='='+STR(@StartRecord)+N' and rowId

    
 
 

您可能感兴趣的文章:

  • 在SQL Server中使用SQL语句查询一个存储过程被其它所有的存储过程引用的存储过程名
  • java调用sql server存储过程,如何取存储过程返回码(不是结果集)
  • 急!如何从一个shell文件中传递一个参数到sql文件中,不能用存储过程
  • 在SQL server 2000中用JAVA实现图片存储
  • 用SQL统计SQLServe表存储空间大小的代码
  • 返回SQL执行时间的存储过程
  • java能否调用SQL-SERVER存储过程呢?如果能?如何调?
  • MySQL 存储过程中执行动态SQL语句的方法
  • 浅析SQL Server中包含事务的存储过程
  • SQL SERVER 利用存储过程查看角色和用户信息的写法
  • sql server中sp_reset_connection存储过程的作用
  • 浅析SQL存储过程和事务处理
  • sql 存储过程批量删除数据的语句
  • SQL创建的几种存储过程
  • Sql Server中存储过程中输入和输出参数(简单实例 一看就懂)
  • 关键字: oracle,存储过程,数据库,查询,动态sql包,数组,参传,jdbc 1
  • 请教一个JDBC调用SQL Server 存储过程的问题
  • SQL Server去除外键的存储过程
  • sql2005 存储过程技巧点滴记录
  • sql 判断函数、存储过程是否存在的代码整理
  • (X86/X64)安装sql server 2005 过程中提示“无法启动sql server的 启动”的解决方法
  • 请教各位,如何在JSP中调用SQL 过程?
  • oracle sql执行过程(流程图)
  • sql2005 存储过程分页示例代码
  • sql server 存储过程使用 IF ELSE 的例子
  • SQL Server创建链接服务器的存储过程示例分享
  • sql server 存储过程中If Else的用法举例
  • sql2005 存储过程的简单例子
  • SQL Server存储过程入门学习
  • sql server 存储过程的异常处理
  • sql2005中创建CLR存储过程的方法详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sql2005 大数据量检索分页的sql代码
  • 经典sql代码--解决并清除SQL被注入恶意代码的语句
  • 创建 sql server 链接服务器的sql代码
  • sql server 删除表1某些数据的同时自动删除表2的相关数据的sql代码
  • SQL Server中选出指定范围行的SQL语句代码
  • 推荐SQL Server 重新恢复自动编号列的序号的sql代码
  • C#代码验证sql语句是否正确(只验证不执行sql)的方法
  • php防止sql注入代码实例
  • sql 查询所有数据库、表名、表字段的代码
  • sql 行转列示例代码
  • asp连接sql server 2005的代码
  • 一定得帮我看看sql server2000通过sql server2000jdbc driver的代码
  • 请问在 Linux 下如何用代码实现连接oracle数据库 并 执行 SQL 语句?
  • 在ADF中跟踪SQL执行时间实现代码
  • 经典Sql代码--取出点击量最高的文章100篇,每个作者不超过5篇
  • 查找特定类别的列 sql代码
  • Oracle SQL中实现indexOf和lastIndexOf功能的思路及代码
  • 简单的SQL Server备份脚本代码
  • 经典sql代码--统计电话通话次数以及时长
  • 经典sql代码--逐行计算、逐行递延、逐行更新
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3