0
我正在從Oracle的SQL Developer中處理存儲過程。 存儲過程編譯,兩個for循環工作作爲exepted。 我的問題: 如果我讀出例如pos等單個變量「AssetValueCHF」,它是有道理的,並給我正確的價值。但是,如果我想將它們添加到它的NULL值。無法在存儲過程中添加兩個數字。我錯過了什麼?
這裏是存儲過程:
create or replace
PROCEDURE AVGCLIENTRISKPORFOLIOS (
customer IN NUMBER,
avgRisk OUT NUMBER
)AS
totalAsset NUMBER ;
riskRankXAsset NUMBER ;
BEGIN
DBMS_OUTPUT.PUT_LINE('Starting...');
FOR portf IN (SELECT "PortfolioId" FROM "Portfolios" WHERE "CustomerId"=customer) LOOP
DBMS_OUTPUT.PUT_LINE('Portfolio gefunden');
FOR pos IN (SELECT "AssetValueCHF","RiskRank" FROM "Positions" WHERE "Portfolio_PortfolioId"=portf."PortfolioId") LOOP
/*these two lines here are the problem*/
totalAsset:=totalAsset+pos."AssetValueCHF";
riskRankXAsset:=riskRankXAsset + pos."AssetValueCHF" *pos."RiskRank" ;
DBMS_OUTPUT.PUT_LINE('x');
DBMS_OUTPUT.PUT_LINE(totalAsset);
END LOOP;
END LOOP;
avgRisk:=riskRankXAsset/totalAsset;
END AVGCLIENTRISKPORFOLIOS;
輸出這裏: 開始... 組合gefunden X X X X X X X X X X Prozess wasdet。
你能幫助我嗎?
即時通訊使用的是Oracle 12.1和Oracle開發3.2.20.10
有趣的代碼格式化系統,你有;) –