我爱Aspx >> C#.Net >> 两个sql server 2000的通用分页存储过程_数据库技巧
第一个支持唯一主键,第二支持多主键,测试过,效率一般
CREATE PROC P_viewPage
/*
no_mIss 分页存储过程 2007.2.20 QQ:34813284
适用于单一主键或存在唯一值列的表或视图
*/
@TableName VARCHAR(200), --表名
@FieldList VARCHAR(2000), --显示列名
@PrimaryKey VARCHAR(100), --单一主键或唯一值键
@Where VARCHAR(1000), --查询条件 不含'where'字符
@Order VARCHAR(1000), --排序 不含'order by'字符,如id asc,userid desc,当@SortType=3时生效
@SortType INT, --排序规则 1:正序asc 2:倒序desc 3:多列排序
@RecorderCount INT, --记录总数 0:会返回总记录
@PageSize INT, --每页输出的记录数
@PageIndex INT, --当前页数
@TotalCount INT OUTPUT, --返回记录总数
@TotalPageCount INT OUTPUT --返回总页数
AS
SET NOCOUNT ON
IF ISNULL(@TableName,'') = '' OR ISNULL(@FieldList,'') = ''
OR ISNULL(@PrimaryKey,'') = ''
OR @SortType < 1 OR @SortType >3
OR @RecorderCount < 0 OR @PageSize < 0 OR @PageIndex < 0
BEGIN
RETURN
END
DECLARE @new_where1 VARCHAR(1000)
DECLARE @new_where2 VARCHAR(1000)
DECLARE @new_order VARCHAR(1000)
DECLARE @Sql VARCHAR(8000)
DECLARE @SqlCount NVARCHAR(4000)
IF ISNULL(@where,'') = ''
BEGIN
SET @new_where1 = ' '
SET @new_where2 = ' WHERE '
END
ELSE
BEGIN
SET @new_where1 = ' WHERE ' + @where
SET @new_where2 = ' WHERE ' + @where + ' AND '
END
IF ISNULL(@order,'') = '' OR @SortType = 1 OR @SortType = 2
Ҷƪл˵?
自己改写的一个sql server 2000的..[04-28]
存储过程中如何使用事务_数据库技..[04-28]
SQL Server 存储过程的分页方案比..[04-28]
SQL SERVER数据库开发之存储过程..[04-28]
ASP调用SQL Server视图和存储过程..[04-28]
存储过程与SQL语句的恩怨情仇_数..[04-28]
最新分页存储过程(增加了选择字..[04-28]
.NET调用Oracle存储过程,使用数..[04-28]
oracle 存储过程的基本语法_数据..[04-28]
SQL Server 存储过程嵌套示例_数..[04-28]
自己改写的一个sql server 2000的..[04-28]
存储过程中如何使用事务_数据库技..[04-28]
SQL Server 存储过程的分页方案比..[04-28]
SQL SERVER数据库开发之存储过程..[04-28]
ASP调用SQL Server视图和存储过程..[04-28]
存储过程与SQL语句的恩怨情仇_数..[04-28]
最新分页存储过程(增加了选择字..[04-28]
.NET调用Oracle存储过程,使用数..[04-28]
oracle 存储过程的基本语法_数据..[04-28]
SQL Server 存储过程嵌套示例_数..[04-28]