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

时间: 2024-10-30 23:54:04

sql2005 存储过程分页示例代码的相关文章

sql2005 存储过程分页示例代码_MsSql

复制代码 代码如下: --分页存储过程示例 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存储过程异常处理示例代码分享_Mysql

下面是示例代码,在发生异常的时候会将异常信息存入日志表中,并继续运行后面的语句. 如果您有更好的建议,望不吝赐教. 存储过程异常处理示例 复制代码 代码如下: -- -------------------------------------------------------------------------------- -- Routine DDL -- Note: comments before and after the routine body will not be stored

php分页示例代码_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

三层+存储过程实现分页示例代码_实用技巧

前台设计: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="paging.aspx.cs" Inherits="五二一练习.paging" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww

sql2005 存储过程分页代码_mssql2005

复制代码 代码如下: 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

jquery+json实现数据列表分页示例代码_jquery

该实例中,新闻数据列表未使用表格显示.下面将所有源码附上,其中用到jquery插件. 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <c:

js对文章内容进行分页示例代码_javascript技巧

Thinkphp中文章显示代码: 复制代码 代码如下: <div id="showContent">{$article.content|htmlspecialchars_decode}</div> <div id="articlePages"></div> js实现代码: 复制代码 代码如下: <script type="text/javascript"> var obj = docum

div li的多行多列 无刷新分页示例代码_php技巧

翻页文件一次加载了全部的内容,因而不是很适合大型的网站,而适用于数据比较少的情况. 本例未使用数据库.  PHP Code 复制代码 代码如下: <div class="container"> <ul id="content"> <?php for ($i=1; $i<=53; $i++){?> <li><span><?php echo $i?></span></li&g