写了个通作的分页存储过程,top,加入了排序
USE [WebDB_TradeOrder]
GO
/****** Object: StoredProcedure [dbo].[Boss_Proc_PagingWithOrder] Script Date: 08/28/2013 09:55:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[Boss_Proc_PagingWithOrder]
@pageSize int,
@pageIndex int,
@tableName varchar(200),
@sqlWhere varchar(2000),
@totalCount int output,
@orderby varchar(100)
AS
BEGIN
SET NOCOUNT ON
declare @countSql nvarchar(4000);
declare @sql nvarchar(4000);
declare @tempCount int;
set @tempCount = @pageSize * (@pageIndex - 1);
if (@SqlWhere ='''' or @SqlWhere='' or @sqlWhere is NULL)
begin
set @countSql= 'select @totalCount = COUNT(ID) from '+@tableName;
set @sql = 'select * from (select top '+str(@pageSize)+' * from '+@tableName+' where ID not in
(select top '+str(@tempCount)+' ID from '+@tableName+@orderby+')) as a'
end
else
begin
set @countSql= 'select @totalCount = COUNT(ID) from '+@tableName+' where '+@sqlWhere+'';
set @sql = 'select top '+str(@pageSize)+' * from '+@tableName+' where ID not in
(select top '+str(@tempCount)+' ID from '+@tableName+' where '+@sqlWhere+@orderby+') and '+@sqlWhere+@orderby+'';
end
EXEC sp_executesql @countSql,N'@totalCount int OUTPUT',@TotalCount OUTPUT
print @TotalCount
print @sql
EXEC (@sql)
END
写了个通作的分页存储过程,top,加入了排序的更多相关文章
- sql server 2000 单主键高效分页存储过程 (支持多字段排序)
sql server 2000 单主键高效分页存储过程 (支持多字段排序) Create PROC P_viewPage /* nzperfect [ ...
- 简单的分页存储过程,Json格式日期转换为一般日期
简单的分页存储过程 CREATE PROC Paged @pageIndex INT, @pageCount INT OUTPUT, @pageSize INT AS DECLARE @count I ...
- mysql的分页存储过程,能够传出总记录数
最近用mysql + asp.net来写网站,既然mysql已经支持存储过程了,那么像分页这么常用的东西,当然要用存储过程啦 不过在网上找了一些,发现都有一个特点——就是不能传出总记录数,干脆自己研究 ...
- [转]关于SQL分页存储过程的分析
[转]关于SQL分页存储过程的分析 建立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用 ...
- 如此高效通用的分页存储过程是带有sql注入漏洞的
原文:如此高效通用的分页存储过程是带有sql注入漏洞的 在google中搜索“分页存储过程”会出来好多结果,是大家常用的分页存储过程,今天我却要说它是有漏洞的,而且漏洞无法通过修改存储过程进行补救,如 ...
- SQL2005分页存储过程(支持多表联接)
Code /********************************************************* * 作 用:数据分页(完整SQL分页存储过程(支持多表联接)) ...
- SQL Server的通用分页存储过程 未使用游标,速度更快!
经过一个下午的时间,和我一个同事(绝对是高手)的共同努力下,摸索出了以下的思路: 1.确定存储的输入参数: 1)SQL脚本,该参数接收完整的.正确的SQL检索文本,可将原应用中写好的SQL脚本直接传入 ...
- 完整SQL分页存储过程(支持多表联接)
http://www.cnblogs.com/andiki/archive/2009/03/24/1420289.html Code/********************************* ...
- 关于SQL分页存储过程的分析
建 立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页.但这种分页方法仅 ...
随机推荐
- php速成_day3
一.MySQL关系型数据库 1.什么是数据库 数据库 数据存储的仓库,在网站开发应用当中,需要有一些数据存储起来. 注册的用户信息,使用PHP变量只是一个临时的存储,如果需要永久的存储起来,就把数据存 ...
- 相信301跳转大家都知道 rewrite
相信301跳转大家都知道,这样有利于权重集中,但是我在.htaccess文件写上: RewriteEngine on rewriteCond %{http_host} ^phpddt.com [NC] ...
- 在线公开课 | 5G时代的视频云服务关键技术与实践
5G时代来临在即,视频技术将会如何发展呢?基于视频云服务的技术开发又有怎样的变化呢?为此,京东云视频云产品研发部高级总监魏伟为大家做出了详细解读. 魏伟拥有10多年视频行业研发经验,先后从事于AVS标 ...
- 吴裕雄--天生自然 PHP开发学习:MySQL 插入多条数据
<?php $servername = "localhost"; $username = "root"; $password = "admin& ...
- Java之同步代码块处理继承Thread类的线程安全问题
package com.atguigu.java; /** *//** * 使用同步代码块解决继承Thread类的方式的线程安全问题 * * 例子:创建三个窗口卖票,总票数为100张.使用继承Thre ...
- Tensorflow学习教程------下载图像识别模型inceptionV3
# coding: utf-8 import tensorflow as tf import os import tarfile import requests #inception模型下载地址 in ...
- SpringBoot项目示例
一.准备工作: 环境及工具:Eclipse+JDK8+Maven+SpringBoot 二.源码: 1.项目架构: 2.引入pom.xml <project ...
- Python 学习笔记:Python 连接 SQL Server 报错(20009, b'DB-Lib error message 20009, severity 9)
问题及场景: 最近需要使用 Python 将数据写到 SQL Server 数据库,但是在进行数据库连接操作时却报以下错误:(20009, b'DB-Lib error message 20009, ...
- 13)PHP,文件加载(include和require)
有四种文件加载的语法形式(注意,不是函数): include, include_once, require, require_once; 他们的本质是一样的,都是用于加载/引入/包含/载入一个外部 ...
- D. Coloring Edges
You are given a directed graph with