sql2005 存储过程分页示例代码
--分页存储过程示例
Alter PROCEDURE [dbo].[JH_PageDemo]
@pageSize int = 9000000000,
@pageIndex int = 1 ,
@orderBy Nvarchar(200) = '' -- 不加order By
AS
SET NOCOUNT ON
--声明变量
DECLARE @select VARCHAR(3048);
DECLARE @from VARCHAR(512);
DECLARE @RowNumber VARCHAR(256);
DECLARE @condition nVARCHAR(3990);
DECLARE @groupBy varchar(50);
DECLARE @sql VARCHAR(3998);
DECLARE @RowStartIndex INT;
DECLARE @RowEndIndex INT;
BEGIN
SET NOCOUNT on
IF @orderBy <> ''
Set @orderBy = ' ORDER BY ' + @orderBy;
else
Set @orderBy = ' ORDER BY Userid ' ;
SET @select = ' select userid,username ,';
--设置排序语句
SET @RowNumber ='ROW_NUMBER() OVER (' + @orderBy + ' ) as RowNumber ';
SET @select = @select + @RowNumber;
SET @from = ' FROM users ';
--设置条件语句@GULevel
SET @condition = ' WHERE 1=1 ';
SET @condition = @condition + 'AND userid > 0';
--分组语句
SET @groupBy = ' GROUP BY USerID '
SET @RowStartIndex = ( @pageIndex -1) * @pageSize + 1
SET @RowEndIndex = @pageIndex * @pageSize ;
--查询结果
SET @sql = 'SET NOCOUNT ON;
WITH ResultTable AS ( ' + @select + @from + @condition +')
SELECT * FROM ResultTable WHERE RowNumber between ' +
Cast(@RowStartIndex AS VARCHAR(32)) + ' AND ' + CAST(@RowEndIndex AS VARCHAR(32))
+ ' ; SELECT count(*) as totalcount ' + @from + @condition + ' '
--PRINT @sql;
EXEC(@sql);
END
相关推荐
-
SQL Server 2005通用分页存储过程及多表联接应用
这是不久前写的一个分页存储过程,可应用于SQL Server 2005上面: 复制代码 代码如下: if object_ID('[proc_SelectForPager]') is not null Drop Procedure [proc_SelectForPager] Go Create Proc proc_SelectForPager ( @Sql varchar(max) , @Order varchar(4000) , @CurrentPage int , @PageSize int,
-
sqlserver 通用存储过程分页代码(附使用ROW_NUMBER()和不使用ROW_NUMBER()两种情况性能分析)
表结构: 复制代码 代码如下: CREATE TABLE [dbo].[Xtest]( [ID] [bigint] IDENTITY(1,1) NOT NULL, [XName] [nvarchar](50) NULL, [XDemo] [nvarchar](500) NULL, CONSTRAINT [PK_xtest] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
-
SQL通用存储过程分页,支持多表联合
SQLPager存储过程 复制代码 代码如下: ALTER proc [dbo].[SqlPager] ( @tblName varchar(255), -- 表名(注意:可以多表链接) @strGetFields varchar(1000) = '*', -- 需要返回的列 @OrderfldName varchar(255)='', -- 排序的字段名 @PageSize int = 10, -- 页尺寸 @PageIndex int = 1, -- 页码 @doCount int = 1
-
sql2005 存储过程分页代码
复制代码 代码如下: create database Test on primary ( name='Test_Data.mdf', filename='D:\我的资料\sql\备份\Test_Data.mdf' ) log on ( name='Test_Data.ldf', filename='D:\我的资料\sql\备份\Test_Data.ldf' ) if object_id('tb') is not null drop table tb create table tb ( Col i
-
sqlserver 存储过程分页代码第1/2页
复制代码 代码如下: declare @TotalCount int declare @TotalPageCount int exec P_viewPage_A 'type1','*','id','','id asc',1,0,4,3,@TotalCount output,@TotalPageCount output select * from type1 Create PROC P_viewPage_A /* nzperfect [no_mIss] 高效通用分页存储过程(双向检索) 2007.
-
sqlserver 存储过程分页(按多条件排序)
cs页面调用代码: 复制代码 代码如下: public int TotalPage = 0; public int PageCurrent = 1; public int PageSize = 25; public int RowsCount = 0; string userid, username; public DataTable dt = new DataTable(); public string path, userwelcome; public string opt,cid; pro
-
asp.net结合aspnetpager使用SQL2005的存储过程分页
SQL2005的存储过程: 复制代码 代码如下: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[P_GetPagedReCord] (@startIndex INT, -- 开始索引号 @endindex INT, -- 结束索引号 @tblName varchar(255), -- 表名 @fldName varchar(255), -- 显示字段名 @OrderfldName varchar(255)
-
sql2005 存储过程分页示例代码
复制代码 代码如下: --分页存储过程示例 Alter PROCEDURE [dbo].[JH_PageDemo] @pageSize int = 9000000000, @pageIndex int = 1 , @orderBy Nvarchar(200) = '' -- 不加order By AS SET NOCOUNT ON --声明变量 DECLARE @select VARCHAR(3048); DECLARE @from VARCHAR(512); DECLARE @RowNumbe
-
MySql存储过程异常处理示例代码分享
下面是示例代码,在发生异常的时候会将异常信息存入日志表中,并继续运行后面的语句. 如果您有更好的建议,望不吝赐教. 存储过程异常处理示例 复制代码 代码如下: -- -------------------------------------------------------------------------------- -- Routine DDL -- Note: comments before and after the routine body will not be stored
-
php分页示例代码
<?php /* 需求,建立一个test数据库,在里边建一个test表,里面就 只要id字段,输入一下数据就可以啦.. 由于水平有限,难免出错.. */ $conn = mysql_connect("localhost","root",""); $maxnum = 2; //每页显示记录条数 mysql_select_db("test", $conn); $query1 = "SELECT
-
三层+存储过程实现分页示例代码
前台设计: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="paging.aspx.cs" Inherits="五二一练习.paging" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww
-
jquery+json实现数据列表分页示例代码
该实例中,新闻数据列表未使用表格显示.下面将所有源码附上,其中用到jquery插件. 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <c:
-
js对文章内容进行分页示例代码
Thinkphp中文章显示代码: 复制代码 代码如下: <div id="showContent">{$article.content|htmlspecialchars_decode}</div> <div id="articlePages"></div> js实现代码: 复制代码 代码如下: <script type="text/javascript"> var obj = docum
-
div li的多行多列 无刷新分页示例代码
翻页文件一次加载了全部的内容,因而不是很适合大型的网站,而适用于数据比较少的情况. 本例未使用数据库. PHP Code 复制代码 代码如下: <div class="container"> <ul id="content"> <?php for ($i=1; $i<=53; $i++){?> <li><span><?php echo $i?></span></li&g
-
bootstrap table 多选框分页保留示例代码
在使用bootstrap table的复选框功能的时候,由于采用服务端分页,当在第一页选择了某些数据,然后点击第二页选择一些数据,再次点回第一页,发现原先选择的数据已经清空了,原来的多选框并不支持翻页保留多选数据. 解决思路: 在分页的时候,吧原先选择的数据用一个全局变量保存,当再次翻页回来时,判断当前页数据是否存在于保存的数据数组中,存在则状态为选择.当然当取消选择的时候也要去删除数组中相应的数据. 为了解决这个问题,在查github上查文档发现有人提出了这个问题,并且作者wenzhixin
随机推荐
- FTP自动上传文件的perl脚本以及配置文件
- 面向对象的编程思想在javascript中的运用上部
- vue动态生成dom并且自动绑定事件
- Angular使用ng-messages与PHP进行表单数据验证
- javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
- Android实现自动匹配关键字并且标红功能
- JavaScript函数详解
- mysql 开启慢查询 如何打开mysql的慢查询日志记录
- Android getSystemService用法实例总结
- 基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
- nodejs连接mysql数据库简单封装示例-mysql模块
- 四步学会 Ajax
- CSS渐变文本效果的两种方法比较
- Android onNewIntent()触发机制及注意事项
- 万圣节是什么节日 2014万圣节是几月几日
- 跨浏览器开发经验总结(四) 怎么写入剪贴板
- 为高负载网络优化Nginx和Node.js的方法
- 浅谈java中Math.random()与java.util.random()的区别
- 基于java中泛型的总结分析
- ASP.NET MVC4入门教程(三):添加一个视图