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使用循環的過程。
任何人都可以請建議一個更好的方法來做到這一點?
由於事先 戈帕爾·阿羅拉