2014-04-16 53 views
0

我正在寫一個簡單的算術PL/SQL代碼塊來計算一列數字的平均值(我知道這可以在SELECT語句中使用AVG來完成)。Oracle PL/SQL算術錯誤

但是,我遇到了算術問題。我根本想不起什麼是錯的。

請指出錯誤。它給我以下錯誤。
出現符號「+」在需要下列之一時:。(

DECLARE 
VMENU MENU%ROWTYPE; 
CURSOR SELECTPRICE IS 
SELECT * FROM MENU; 
AVERAGE NUMBER(7,2):=0; 
SUM NUMBER(7,2):=0; 
COUNT NUMBER(2):=0; 

BEGIN 
OPEN SELECTPRICE; 
LOOP 
    FETCH SELECTPRICE INTO VMENU; 
    EXIT WHEN SELECTPRICE%NOTFOUND; 
    DBMS_OUTPUT.PUT_LINE(VMENU.TYPE||' '||VMENU.ITEM||' '||VMENU.PRICE); 
    SUM:=SUM+VMENU.PRICE; 
    COUNT:=COUNT+1; 
END LOOP; 
AVERAGE:=SUM/COUNT; 
DBMS_OUTPUT.PUT_LINE(AVERAGE); 
CLOSE SELECTPRICE; 
END; 
+0

什麼是您的問題?它是「算術錯誤」還是語法錯誤(「遇到符號」+「...」)? –

+0

在Oracle PL/SQL中,SUM,COUNT內置函數,用l_sum,l_count代替它 – ajmalmhd04

+0

這是一個語法錯誤,「遇到符號」 –

回答

3

變化的變量名稱SUMCOUNT比保留字以外的東西。例如,代碼將運行,如果變量發生變化到V_SUMV_COUNT