2014-04-16 54 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