create or replace procedure SFGL_XF_SFBZ(p_xn in varchar2, p_czr in varchar2, o_errMsg out varchar2) is /** * 生成收费标准 * 功能:按学年生成收费标准。1、生成新年级的收费标准;2、已经毕业的年级不生成。 * 2016年10月21日 * p_xn 学年 * p_czr 当前操作人 * o_errMsg 返回出错信息 */ v_xn1 varchar2(10); --记录学年的第一个年份 eg:2016-2017 中的2016 before_Xn varchar2(10); --记录前一个学年 type t_arr is varray(3) of varchar2(20); --年级数组 v_nj t_arr; v_count number := 0; --记录查询条数 begin v_xn1 := substr(p_xn, 1, 4); --eg:2017 before_Xn := (v_xn1-1)||'-'||v_xn1; --eg:2016-2017 v_nj := t_arr(null, null,null); v_nj(1) := v_xn1-2; --eg:2015 v_nj(2) := v_xn1-1; --eg:2016 v_nj(3) := v_xn1; --eg:2017 --判断前两个年级的学年数据是否已经生成 for x in 1..v_nj.count-1 loop v_count :=0; select count(1) into v_count from sfgl_xf t where t.xn=p_xn and t.nj = v_nj(x); if v_count = 0 then insert into sfgl_xf(xfid,yxdm,zydm,fy,modified_time,modified_by,create_time,create_by,nj,zsfy,xn,ybfy) select Xl_Sfgl_Xf.NEXTVAL,t.yxdm,t.zydm,t.fy,sysdate,p_czr,sysdate,p_czr,t.nj,t.zsfy,p_xn,t.ybfy from sfgl_xf t where t.xn=before_Xn and t.nj = v_nj(x); end if; end loop; --生成最新年级的数据,以上一个学年的最新年级为准 --eg:2016-2017的2016年级数据 参考 2015-2016的2015级数据 v_count :=0; select count(1) into v_count from sfgl_xf t where t.xn=p_xn and t.nj = v_nj(3); if v_count = 0 then insert into sfgl_xf(xfid,yxdm,zydm,fy,modified_time,modified_by,create_time,create_by,nj,zsfy,xn,ybfy) select Xl_Sfgl_Xf.NEXTVAL,t.yxdm,t.zydm,t.fy,sysdate,p_czr,sysdate,p_czr,v_nj(3),t.zsfy,p_xn,t.ybfy from sfgl_xf t where t.xn=before_Xn and t.nj = v_nj(2); end if; exception when others then o_errMsg := '程序运行出现内部错误,请联系管理员。'; raise; end SFGL_XF_SFBZ;
type t_arr is varray(3) of varchar2(20); --年级数组
相关推荐
为了处理复杂的数组操作,开发者有时会创建自定义的类来辅助管理数组。在这个案例中,我们有一个名为"php的数组操作类"的压缩包,它提供了一些实用方法,帮助我们更有效地对数组进行操作。下面将详细介绍这些功能...
### 一、字符串数组操作类的设计与实现 #### 1. 类的定义 该代码片段中定义了一个名为 `StringArray` 的类,它继承自 `Object` 类,并实现了 `IDisposable` 接口。这个类的主要目的是提供对字符串数组的操作,包括...
JavaScript splice 数组操作(删除,插入)JavaScript splice 数组操作(删除,插入)JavaScript splice 数组操作(删除,插入)JavaScript splice 数组操作(删除,插入)JavaScript splice 数组操作(删除,插入)...
JavaScript 和 jQuery 中的数组操作是编程中非常基础且重要的部分,尤其在处理数据集合时。在 JavaScript 中,数组是一种特殊的数据结构,可以存储各种类型的数据,包括整型、字符串、对象等。虽然 JavaScript 不...
本文实例讲述了Python使用numpy模块创建数组操作。分享给大家供大家参考,具体如下: 创建数组 创建ndarray 创建数组最简单的方法就是使用array函数。它接收一切序列型的对象(包括其他数组),然后产生一个新的含有...
array_change_key_case -- 返回字符串键名全为小写或大写的数组 array_chunk -- 将一个数组分割成多个 array_combine -- 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 array_count_values -- ...
在LabVIEW编程环境中,三维数组是一种非常重要的数据结构,它能够有效地存储和处理大量多维数据。...在实际项目中,结合“三维数组操作.vi”这样的范例,可以加深对这些概念的理解并应用于实际问题的解决。
Android 中的 JNI 数组操作教程 Android 中的 JNI 数组操作教程主要介绍了关于 Android 中 JNI 数组操作的相关资料,通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值。 JNI 中有两种数组...
本资料"Javascript数组操作整理"聚焦于JavaScript中的数组操作,旨在帮助开发者更好地理解和掌握相关知识。 1. 创建数组: JavaScript提供了多种创建数组的方式,如字面量语法`var arr = [元素1, 元素2, ...]`,或...
本文将详细探讨标题“Hebing.zip_数组操作_文件操作”所涉及的两个主要概念:数组操作和文件操作。 首先,让我们关注数组操作。数组是计算机科学中的一种基本数据结构,用于存储同一类型的数据集合。在C++中,数组...
数组操作是编程中常见的任务,包括创建、初始化、访问、修改、遍历以及对数组进行各种算法操作,如排序、查找、插入和删除。下面将详细解释这些概念。 1. **数组的创建与初始化**: 在Java中,数组可以通过指定...
JavaScript数组操作函数是编程中非常基础且重要的部分,它们提供了对数组进行各种操作的方法,包括添加、删除、合并以及转换等。以下是对标题和描述中提及的数组操作函数的详细说明: 1. **push()**: `push()` 函数...
JS数组操作:三维数组去除空元素 在实际项目中,我们经常会遇到一些复杂的数组操作问题,例如在树形结构中展示数据时,返回的三维数组中可能存在某些层数组为空,需要去除掉这些空数组,得到的数组为三层,并且每一...
本文将深入探讨易语言数组操作模块的相关知识点,包括数组的翻转、获取成员索引、检查重复项、替换成员、文本排序以及字符串比较。 1. **数组_翻转成员**: 这个功能用于将数组中的元素顺序反转。在易语言中,通过...
本教程将深入探讨C语言中的数组操作,特别是如何找出两个数组的交集。首先,让我们理解数组的基本概念。 数组是由相同类型的数据元素构成的集合,这些元素在内存中是连续存储的。每个元素都有一个唯一的索引,从0...
由于Web开发涉及大量的数据处理,因此对于PHP来说,数组操作成为了必须掌握的核心技能之一。...在实际开发中,我们还会遇到诸如数组排序、搜索、分割、合并等更多操作,这些都是基于上述基础数组操作之上的高级应用。
以下是Objective-C中数组操作的详细知识点总结: 1. **创建数组**: - 使用`initWithObjects:`方法创建并初始化一个NSArray对象,数组元素可以是任何对象类型,最后必须以nil作为结束符。 - 使用`...
在本项目"数组操作的Java成绩管理系统"中,我们利用数组来管理学生的成绩数据。这个系统可能包括了对学生成绩的添加、查询、排序以及平均分计算等功能。以下是对该系统的详细解释和相关知识点: 1. **数组定义与...
数组操作是任何开发人员在日常编码中不可或缺的一部分,掌握各种数组方法能够极大提高代码效率和可读性。下面将详细介绍标题与描述中提到的几个关键的JavaScript数组操作知识点。 ### join(delimiter) `join()` ...
本编程题“数组操作分发饼干”旨在考察你对数组的理解以及在实际问题中的应用能力。这个问题可能是关于如何有效地分配资源,比如在一个群体中合理地分配饼干,以满足每个人的需求。 首先,我们需要理解数组的基本...