阿姆斯特朗号错误

Anu*_*Dey 1 sql oracle plsql

这是我为Oracle PL/SQL Armstrong Number编写的代码

declare
num number;
sum number;
temp number;
val number;
begin
num:=#
temp:=num;
while temp<>0 loop
val:=trunc(temp mod 10);
sum:=sum +(val*val*val);
temp:=temp/10;
end loop;
if sum=num then
dbms_output.put_line('number is Armstrong');
else
dbms_output.put_line('number is not Armstrong');
end if;
end;
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

第11行的错误:ORA-06550:第11行第10列:PLS-00103:当遇到以下情况之一时遇到符号"+":(符号"("代替"+"继续.ORA-06550 :第11行,第24栏:PLS-00103:遇到下列其中一项时遇到符号";":*& - +/at mod余数rem || year day符号")"代替";" 接着说.ORA-06550:第14行,第7列:PLS-00103:当期待下列之一时遇到符号"=":(

我做错了什么?谢谢.

All*_*lan 5

sum是大多数数据库(包括Oracle)中的保留字.这是一个聚合函数,这就是Oracle告诉你它期望左括号的原因.更改该变量的名称,该块将起作用.