动态网站制作指南
[  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库学院 > DB2教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ DB2教程 ]的信息

本月文章推荐
.用AWK实现DB2 数据库 Schema的同.
.讲解DB2数据库性能调整的十个实用.
.IBM 数据库 DB2 9 的九大新特性(.
.使用 UIMA 和 DB2 Intelligent M.
.DB2 for z/OS Web 应用程序死锁分.
.三种级别的DB2数据库字符集的设置.
.执行DB2的命令有哪些方式?.
.Microsoft Excel用ODBC轻松获DB2.
.了解有关DB2数据库优化的几条策略.
.使用 DB2 V9.1 for z/OS 实现应用.
.DB2 Spatial Extender 性能调优(.
.使用DB2look 重新创建优化器访问.
.并行方式处理DB2 for iSeries索引.
.DB2 实用程序介绍之LOAD实用程序.
.学习DB2数据库必须掌握的五十四条.
.在UNIX上安装DB2 UDB修订包的实用.
.在Linux平台下进行DB2数据库的迁.
.AIX环境下实现DB2向Windows 2000.
.一台Linux或UNIX机器上设置多个D.
.深入了解DB2 Universal Database.

DB2中通用的存储过程分页程序

文章类别:DB2教程 | 发表日期:2008-2-9 |


CREATE PROCEDURE SALES.DB2PAGINATION(IN ITBNAME VARCHAR(2000),-- 表名
     IN ISHOWFIELD VARCHAR(1000),-- 显示字段
     IN IJOIN VARCHAR(1000),-- 联接条件(如:内联、外联)
     IN IWHERE VARCHAR(2000),-- 查询条件 (注重: 不要加 WHERE)
     IN IORDER VARCHAR(100),-- 排序条件 (注重: 不要加 ORDER BY)
     IN IPAGESIZE INTEGER,-- 页尺寸 假如为0 默认返回前一百万条数据可以认为是返回所有数据
     INOUT IOCURRENTPAGEIX INTEGER,-- 输入和输出:当前页
     OUT OPAGESTARTROW INTEGER,-- 输出:当前开始行
     OUT OPAGEENDROW INTEGER,-- 输出:当前结束行
     OUT OTOTALROWS INTEGER,-- 输出:当前总记录数
     OUT OHASPREVIOUSPAGE INTEGER,-- 输出:是否有上一页
     OUT OHASNEXTPAGE INTEGER,-- 输出:是否有下一页
     OUT OTOTALPAGES INTEGER,-- 输出:总页数
     OUT OERROR VARCHAR(100))-- 输出:错误信息
  RESULT SETS 1
  MODIFIES SQL DATA
  NOT DETERMINISTIC
  LANGUAGE SQL
BEGIN
/**//*----------------------------------------------------------------
* Copyright (C) 2007 Huacius
* 版权所有。
*
* 存储过程分页
*
*
//-----------------------------------------------------------------------*/
DECLARE STRSQL  VARCHAR(6000);-- 主语句
  
DECLARE result CURSOR WITH RETURN TO CALLER FOR S2;
  
DECLARE exit handler FOR sqlexception-- 异常捕捉
BEGIN
set OERROR = 'error!';
END;
  
-- BODY start --
if(iwhere <> '') then
set iwhere = ' where ' || iwhere;
end if;
if(iorder <> '') then
set iorder = 'order by ' || iorder;
end if;
if(ijoin <> '') then
set ijoin = ' ' || ijoin;
end if;
 
set strsql = 'select count(*) from ' || itbname || ijoin || iwhere;
prepare s2 from strsql;
open result;
  fetch result into ototalrows;-- 总记录数
  close result;
  
if(ipagesize = 0) then
set ipagesize = 1000000;-- 每页显示数
end if;
  
set ototalpages = (ototalrows - 1) / ipagesize + 1;-- 总页数
  
if(iocurrentpageix < 1) then
set iocurrentpageix = 1;-- 当前页
else
if(iocurrentpageix > ototalpages) then
set iocurrentpageix = ototalpages;
end if;
end if;
  
set opagestartrow = ipagesize * (iocurrentpageix -1) + 1;-- 每页开始数
if(iocurrentpageix = ototalpages) then
set opageendrow = ototalrows;-- 每页结束数
else
set opageendrow = ipagesize * iocurrentpageix;
end if;
  
if(iocurrentpageix > 1) then
set ohaspreviouspage = 1;-- 是否有上一页
else
set ohaspreviouspage = 0;
end if;
  
if(iocurrentpageix < ototalpages) then
set ohasnextpage = 1;-- 是否有下一页
else
set ohasnextpage = 0;
end if;
  
set strsql = 'select * from (select rownumber() over(' || iorder || ') as rownum,'
|| ishowfield
|| ' from '
|| itbname
|| ijoin
|| iwhere
|| ') as temp where rownum between ' || rtrim(char(opagestartrow)) || ' and ' || rtrim(char(opageendrow));
prepare s2 from strsql;
open result;
-- BODY end --
  
END

上一篇:DB2存储过程开发最佳实践(1) 人气:988
下一篇:DB2中实现Oracle的相关功能 人气:833
点击此处浏览全部DB2教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-5-16 乘风多用户PHP统计系统 v3.4
2008-5-16 轩溪下载系统 v3.78 build 0515
2008-5-16 普沙B2B 浙江省商贸网 v2.0
2008-5-16 asp抓蜘蛛的小程序 v1.0
2008-5-16 齐齐乐网私服发布站 仿haosf新版
2008-5-16 IssTech信息反馈系统 v1.0
2008-5-16 自由领域大头贴(js接口版) 修正版
2008-5-16 医院网站系统
2008-5-16 智拓-分类信息管理系统 v5.0
2008-5-7 Windows XP SP3 官方英文版
2008-5-7 Windows XP SP3 官方香港中文版
2008-5-7 Windows XP SP3 官方繁体中文版
2008-5-7 Windows XP SP3 官方简体中文版
2008-4-30 Multiple Unzip Wizard 1.02
2008-4-30 Multiple Unrar Wizard 1.0.0
2008-4-30 WinZip Install/Try/Uninstall a
2008-4-30 ZIP压缩文件修复器WzipFix 2.0
2008-4-30 Pentazip 6.01 Build 189 For Wi
  发表评论
姓 名: 验证码: [ 全部贴吧 ] [ 浏览评论 ]
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号