浏览 3197 次
锁定老帖子 主题:头疼的科目余额计算
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-01
1:科目表 KM (科目编号 科目名称 科目全称) KMBH KMMC KMQC 1001 现金 现金 1001-01 人民币 现金-人民币 1001-02 美圆 现金-美圆 1603 在建工程 在建工程 1603-01 建筑费 在建工程-建筑费 1603-02 安装费 在建工程-安装费 1603-03 设备费 在建工程-设备费 1603-04 其他费 在建工程-其他费 2:凭证表 PZ (凭证编号 科目编号 借方金额 贷方金额 摘要 录入日期) PZBH KMBH JFJE DFJE ZY LRRQ 20091210001 1001-01 1000 0 2009-12-01 20091210001 1603-04 0 1000 2009-12-01 二 余额表格式 按照科目范围查询某一个月的汇总表,要求如下 科目编号,科目名称,期初借方金额,期初贷方金额,本期借方金额,本期贷方金额,累计余额 三 其他说明 1:凭证表数据随着时间的增加数据量越来越多 2:科目编号有层次要求,如1001-01 和1001-02为1001的2个叶子节点科目,而录入的凭证只有叶子节点科目,所以在汇总余额时会有一个向父节点科目汇总的过程 四 问题 原本的设计思路是直接在BO里直接写一个INSERT语句来实现,遇到2个问题:a,数据量大的时候会出现从套接字无法获取更多数据问题;b:因为采用一条INSERT语句来实现所以FROM下对应的是一个复杂的SELECT语句,而ORACLE恰好INSERT对复杂的语句有BUG,会出现数据插入不稳定的现象.针对以上问题放弃了一条语句实现改用存储过程,先在外层构造动态游标,然后循环计算每一个科目的期初借方金额,期初贷方金额,本期借方金额,本期贷方金额,累计余额数据(拿科目表里的KMBH去LIKE凭证表里的KMBH)再INSERT,行到是行就是那个速度啊,太慢. 在这里请教各位看有什么别的好方法没,因为本人对ORACLE不是很熟悉,主要是才切换到这个数据库,很多思路还没打开,谢谢各位了! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |