0
我有3个表如下:改进oracle存储过程中的查询或逻辑?
CUSTOMER
CIF SUMOFALLACCOUNTBALACE
A1 6000
A2 2000
A3 7000
ACCOUNT
ACCOUNTNUMBER ACCOUNTBALANCE
B1 1000
B2 2000
B3 3000
B4 4000
B5 5000
RELATION
CIF ACCOUNTNUMBER
A1 B1
A1 B5
A2 B2
A3 B3
A3 B4
我需要使用RELATION
表CUSTOMER
表中的所有可用ACCOUNTNUMBER
小号各CIF
S的的更新SUMOFALLACCOUNTBALACE
。
示例查询我1 CIF
1内置的是: -
UPDATE CUSTOMER
SET SUMOFALLACCOUNTBALACE =
(SELECT SUM(ACCOUNTBALANCE)
FROM ACCOUNT
WHERE ACCOUNTNUMBER IN
(SELECT ACCOUNTNUMBER
FROM RELATION
WHERE CIF IN
(SELECT CIF
FROM CUSTOMER
WHERE CIF = 'A1')))
WHERE CIF = 'A1'
这是给我正确的结果,但它走的时候大量的数据,我也需要通过1甲骨文通过CIF
1使用循环的过程。
任何人都可以请建议一个更好的方法来做到这一点?
由于事先 戈帕尔·阿罗拉