sql2000下 分页存储过程
2008-04-02 10:42:52来源:互联网 阅读 ()
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
--名称:分页存储过程
--使用示例 EXEC sp_PageIndex '*',' FROM StuSources ',2,10
--注意
--现在还没有对输入的参数进行严格的验证
--默认为输入都是合法有效的
ALTER PROC sp_PageIndex
@sqlSelect varchar(800) --SELECT 后面 FROM 前面 的 字段 不用包含SELECT
,@sqlFrom varchar(800) --FROM 后面 的 字段 包含FROM
,@countPerPage int -- 每页数据行数
,@toPage int --要转到的页码
AS
BEGIN
-- 根据每页数据行数 和 要转到的页码 得到 数据起止点
Declare @start int
Declare @end int
set @end = @countPerPage * @toPage
set @start = @countPerPage * (@toPage - 1) 1
-- 临时表名称 可随机命名
Declare @tmpTable varchar(10)
SET @tmpTable ='#tmp'
Declare @sqlStr varchar(800)
-- 创建数据源到临时表
SELECT @sqlStr = 'SELECT Identity(int,1,1) AS RowIndex,'
SELECT @sqlStr = @sqlStr rtrim(@sqlSelect) ' INTO ' @tmpTable
SELECT @sqlStr = @sqlStr rtrim(@sqlFrom)
-- 查询临时表 得到所需要的数据
SELECT @sqlStr = @sqlStr ' ' 'SELECT ' rtrim(@sqlSelect) ' FROM ' @tmpTable
SELECT @sqlStr = @sqlStr ' WHERE RowIndex BETWEEN ' Convert(char,@start) " AND " Convert(char,@end)
-- 删除临时表
SELECT @sqlStr = @sqlStr ' ' 'DROP TABLE ' @tmpTable
EXEC (@sqlStr)
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
http://www.cnblogs.com/freeliver54/archive/2006/12/31/608858.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: Sql Sever数据库自动备份
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash