sql2000下 分页存储过程(一)

时间:2022-12-30 05:57:44

SET QUOTED_IDENTIFIER OFF 
sql2000下 分页存储过程(一)
GO
sql2000下 分页存储过程(一)
SET ANSI_NULLS ON 
sql2000下 分页存储过程(一)
GO
sql2000下 分页存储过程(一)
--名称:分页存储过程
sql2000下 分页存储过程(一)--
使用示例 EXEC sp_PageIndex '*',' FROM StuSources ',2,10
sql2000下 分页存储过程(一)--
注意 
sql2000下 分页存储过程(一)--
目前还没有对输入的参数进行严格的验证
sql2000下 分页存储过程(一)--
默认为输入都是合法有效的
sql2000下 分页存储过程(一)

sql2000下 分页存储过程(一)
ALTER  PROC sp_PageIndex
sql2000下 分页存储过程(一) 
@sqlSelect varchar(800--SELECT 后面 FROM 前面 的 字段 不用包含SELECT
sql2000下 分页存储过程(一)
,@sqlFrom varchar(800--FROM 后面 的 字段 包含FROM
sql2000下 分页存储过程(一)
,@countPerPage int -- 每页数据行数
sql2000下 分页存储过程(一)
,@toPage int --要转到的页码
sql2000下 分页存储过程(一)

sql2000下 分页存储过程(一)
AS
sql2000下 分页存储过程(一)
sql2000下 分页存储过程(一)
BEGIN
sql2000下 分页存储过程(一)
sql2000下 分页存储过程(一)
sql2000下 分页存储过程(一)
-- 根据每页数据行数 和 要转到的页码 得到 数据起止点
sql2000下 分页存储过程(一)
Declare @start int
sql2000下 分页存储过程(一)
Declare @end int
sql2000下 分页存储过程(一)
sql2000下 分页存储过程(一)
set @end = @countPerPage * @toPage
sql2000下 分页存储过程(一)
set @start = @countPerPage * (@toPage - 1+ 1
sql2000下 分页存储过程(一)
sql2000下 分页存储过程(一)
sql2000下 分页存储过程(一)
-- 临时表名称 可随机命名
sql2000下 分页存储过程(一)
Declare @tmpTable varchar(10)
sql2000下 分页存储过程(一)
SET @tmpTable ='#tmp'
sql2000下 分页存储过程(一)
sql2000下 分页存储过程(一)
Declare @sqlStr varchar(800)
sql2000下 分页存储过程(一)
-- 创建数据源到临时表
sql2000下 分页存储过程(一)
SELECT @sqlStr = 'SELECT Identity(int,1,1) AS RowIndex,'
sql2000下 分页存储过程(一)
SELECT @sqlStr = @sqlStr + rtrim(@sqlSelect+ ' INTO  '+ @tmpTable 
sql2000下 分页存储过程(一)
SELECT @sqlStr = @sqlStr + rtrim(@sqlFrom
sql2000下 分页存储过程(一)
-- 查询临时表 得到所需要的数据
sql2000下 分页存储过程(一)
SELECT @sqlStr = @sqlStr + ' '+'SELECT '+ rtrim(@sqlSelect+' FROM ' + @tmpTable 
sql2000下 分页存储过程(一)
SELECT @sqlStr = @sqlStr + ' WHERE  RowIndex BETWEEN ' + Convert(char,@start+ " AND " + Convert(char,@end)
sql2000下 分页存储过程(一)
-- 删除临时表
sql2000下 分页存储过程(一)
SELECT @sqlStr = @sqlStr + ' '+'DROP TABLE '+@tmpTable
sql2000下 分页存储过程(一)
EXEC (@sqlStr)
sql2000下 分页存储过程(一)
sql2000下 分页存储过程(一)
sql2000下 分页存储过程(一)
END
sql2000下 分页存储过程(一)
sql2000下 分页存储过程(一)
sql2000下 分页存储过程(一)
GO
sql2000下 分页存储过程(一)
SET QUOTED_IDENTIFIER OFF 
sql2000下 分页存储过程(一)
GO
sql2000下 分页存储过程(一)
SET ANSI_NULLS ON 
sql2000下 分页存储过程(一)