CREATE PROCEDURE DB2ADMIN.P_TEMP_YEARREPORT_QUERY
(OUT "ERRCODE" INTEGER,
OUT "ERRMSG" VARCHAR(50),
IN "V_USERNO" VARCHAR(20),
IN "V_KDBUREAID" VARCHAR(100),
IN "V_PAGE" INTEGER,
IN "V_PAGESIZE" INTEGER,
OUT "O_TOTALROW" INTEGER,
OUT "O_TOTALPAGE" INTEGER,
OUT "O_HASNEXT" INTEGER,
OUT "O_HASPREV" INTEGER
)
SPECIFIC DB2ADMIN.SQL070601162123746
DYNAMIC RESULT SETS 1
LANGUAGE SQL
NOT DETERMINISTIC
CALLED ON NULL INPUT
EXTERNAL ACTION
OLD SAVEPOINT LEVEL
MODIFIES SQL DATA
INHERIT SPECIAL REGISTERS
BEGIN
--声明
declare pBegin integer;
declare pEnd integer;
declare ql varchar(500);
declare ql_count varchar(500);
declare result CURSOR WITH RETURN TO CALLER FOR RS;
--获取总记录数
set ql_count = 'SELECT count(*) FROM DB2ADMIN.T_TEMP_YEARREPORT T1;
prepare rs from ql_count;
open result;
fetch result into o_totalrow;
close result;
--每页显示数量,默认1000000;
if(v_pagesize = 0) then
set v_pagesize = 1000000;
end if;
--计算总页数
set o_totalpage = (o_totalrow-1)/v_pagesize + 1;
--处理当前页
if(v_page<1) then
set v_page = 1;
else
if(v_page>o_totalpage) then
set v_page = o_totalpage;
end if;
end if;
--开始和结束行
set pBegin = (v_page-1) * v_pagesize + 1;
if(v_page = o_totalpage) then
set pEnd = o_totalrow ;
else
set pEnd = v_pagesize * v_page;
end if;
--是否有下页
set o_hasnext = 0;
if(v_page<o_totalpage) then
set o_hasnext = 1;
end if;
--是否有上页
set o_hasprev = 0;
if(v_page>1) then
set o_hasnext = 1;
end if;
set ql = 'SELECT * FROM (SELECT * FROM DB2ADMIN.T_TEMP_YEARREPORT T1 Where T1.kdbureaid = v_kdbureaid) as t where rownum between '
|| rtrim(char(pBegin)) || ' and ' || rtrim(char(pEnd));
prepare rs from ql;
open result;
set errcode = 1;
set errmsg = '成功';
END;
分享到:
相关推荐
### DB2存储过程实现分页查询 在数据库应用开发中,分页查询是常见的需求之一。对于大型数据集,直接查询所有数据不仅消耗资源,还会降低用户体验。因此,实现高效、可靠的分页功能至关重要。本篇文章将详细介绍...
这个DB2的存储过程同样接收`startIndex`和`pageSize`参数,然后使用`OFFSET`和`FETCH NEXT`来实现分页查询。 至于DB2自动生成流水号,可以利用`IDENTITY`属性或者`SEQUENCE`对象。`IDENTITY`常用于单表主键自增,如...
这个存储过程的使用,使得开发者能够方便地在应用程序中实现分页查询,无需每次都编写复杂的SQL逻辑,提高了代码的复用性和可维护性。同时,由于其动态生成查询的能力,可以应对不同场景下的分页需求,增强了数据库...
这条命令与第2条类似,但这里没有使用`online`参数,因此这将是一个脱机备份,这意味着在备份过程中数据库将不可用。 #### 4. 创建表 ```sql createtable( "column1" integer not null, "column2" varchar(30) ); `...
PageHelper不仅支持物理分页,还支持逻辑分页,同时兼容多种数据库,如MySQL、Oracle、DB2等。 在"描述"中提到,这是一个新手项目,后端已经测试正常,这意味着分页功能已经在服务器端实现了。然而,前端网页部分...
以上就是关于Oracle中`RowID`、`RowNum`的使用方法,以及Oracle分页语句和存储过程的创建与使用的详细介绍。这些知识点对于Oracle开发人员来说非常重要,熟练掌握它们能够帮助你在实际工作中更高效地解决问题。
支持长文章分页/Access/Sql2000/Oracle/MySql/DB2/存储过程/支持不产生ViewState/图片分页/URL重写/Xml 样式自己用CSS定,可以随意改!对于Web2.0 页面构架师来说,追求代码完美,也许这是你最好的选择~,本控件支持不...
- 在移植过程中,如果应用程序使用了特定于 DB2 LUW 的扩展器,可能需要调整这些自定义数据类型和操作,以确保它们在 UDB400 上也能正常工作。 - 需要审查当前使用的扩展器,并评估是否需要在 UDB400 中实现类似的...
- `db2 "call 清空(12)"`:调用存储过程`清空`并传入参数`12`。 - **导出表结构**: - `db2 look -e -d ods_ibb -t M_IBB_F_F_TX_CIB_SCURA > tmp2.sql`:将表`M_IBB_F_F_TX_CIB_SCURA`的DDL(数据定义语言)导出...
在Java Web应用程序中,为了简化分页代码,我们可以创建工具类。这里提到了两个工具类:PagedStatement和RowSetPage。PagedStatement是基于PreparedStatement的,它负责关闭数据库连接并支持动态设置参数。...
在SQL面试中,经常会遇到关于数据库恢复、存储过程优缺点、分页查询以及数据库规范化的问题。以下是对这些知识点的详细解释: 1. **数据库恢复** - **日志恢复** 是一种恢复策略,适用于在特定时间点恢复数据。在...
DB2数据库中,可以使用窗口函数`ROW_NUMBER()`配合`OVER`子句进行分页,例如: ```sql SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY id ASC) AS rowid, * FROM table WHERE rowid ) WHERE rowid > ...
"cxGrid" 是一个常见的开发组件,用于创建数据网格视图,它允许开发者在Windows应用程序中显示和操作表格数据。cxGrid通常与DevExpress库相关,这是一个强大的Visual Studio组件套件,包含用于创建高效、美观的用户...
- **DB2/400与INFORMIX在C语言程序中的部分区别**:比较了两种数据库系统在编程接口上的异同。 - **FAQ集锦**:提供了一系列关于AS/400系统常见问题的解答。 这份教材是为新员工和初学者设计的,目的是帮助他们快速...
支持存储过程。 支持分页。 查询自动映射或自定义映射到自己的实体类型(如产品类型)或动态类型(NET 4.0新)。 安全,使用索引或命名参数,以防止SQL注入。 强大的性能。 可以对任何现有的业务对象和业务层不需要...
安装过程中,用户可以根据自己的需求选择安装路径和组件,确保软件能无缝融入到个人的工作环境中。 总的来说,Dbeaver CE 21.0.5-x86_64是一款强大且灵活的数据库管理工具,它集成了多种实用功能,旨在提升数据库...
数据库对象是数据库中的基本元素,如表(table)、字段(column)、主键(primary key)、索引(index)、外键(foreign key)、约束(check constraint)、视图(view)、存储过程(procedure)、函数(function)...
- **DB2 示例**:利用 DB2 数据库作为后端存储用户信息,实现更为复杂的身份验证逻辑。 #### 三、全局安全配置 ##### 3.1 全局安全简介 全局安全(Global Security)是 WebSphere Application Server 中一项重要的...
- **驱动类未找到**:如果出现`java.lang.ClassNotFoundException`,说明没有正确地添加驱动程序的JAR文件到项目中。解决方法是将相应的驱动JAR文件放入项目的`WEB-INF/lib`目录下。 - **连接被拒绝**:当出现`java...