oracle .net批量更新数据库,ORACLE树形结构数据逐级汇总批量更新如何实现

假如A表该表的数据结构如下:有一B表跟A表的数据结构是一样的,其中B表的数据中叶子节点是唯一的。

数据记录如下,

ID  PID       SN                         NAME                      HF         HZ           CL        HY          YX

1     -1       1                            2015年                      12           21        26          14            20

2      1      1.1                          --科研                         5          9             13           6            13

3      2       1.1.1                       ----CJ-001研制             2           4             6           4            8

4      2       1.1.2                       -----CJ-002研制            3           5             7           2            5

5      1       1.2                          --运营                        7           12            13          8            7

6      5        1.2.1                      -----综合系统研发         5            8             7           4           3

7       5        1.2.2                     ---- 系统集成研究         2           4             6           4             2

其中、PID标识每个节点的父ID,SN代表每个节点的序号,HF(合同发票金额)、HZ(合同资金金额)   CL(差旅费)、HY(会议费)、YX(运行辅助费)

这个表的金额列如下

每个金额类型都有四个季度、12个月份,如合同发票金额的命名就是

Q1-Q4代表4季度、M1-M2代表12月份,一共五类费用,列共5*4+5*12=80列

HFQ1、HFQ2、HFQ3、HFQ4

HFM1、HFM2,HFM3、HFM4,HFM5,HFM6,HFM7,HFM8,HFM9,HFM10,HFM12

HZQ1、HZQ2、HZQ3、HZQ4

HZM1、HZM2,HZM3、HZM4,HZM5,HZM6,HZM7,HFM8,HFM9,HFM10,HFM12

CLQ1、CLQ2、CLQ3、CLQ4

CLM1、CLM2,CLM3、CLM4,CLM5,CLM6,CLM7,CLM8,CLM9,CLM10,CLM12

HYQ1、HYQ2、HYQ3、HYQ4

HYM1、HYM2,HYM3、HYM4,HYM5,HYM6,HYM7,HYM8,HYM9,HYM10,HYM12

YXQ1、YXQ2、YXQ3、YXQ4

YXM1、YXM2,YXM3、YXM4,YXM5,YXM6,YXM7,YXM8,YXM9,YXM10,YXM12

这80列都在上个A表,B表跟A表的数据结构是一样的。

目前我的业务是:数据都在B表中存储着,A表的结构是跟B表一样,需要把B表的子节点更新A表,然后A表通过叶子节点逐级汇总,也就是子节点等于父节点之和,依次往上累加,基于此查询形成一个临时表,然后通过此临时表再更新A表所有字段。

但是由于我这个表要计算的列实在太多,目前测试数据库的数据将近3000行,计算所有的列需要花费12分钟,正式数据库的列都将近5000行,,会花费更多的时间。有没有高校的方法实现上述业务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值