阿姆斯特朗号错误

时间:2014-05-12 16:58:23

标签: 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;

我收到以下错误:

  

第11行的错误:ORA-06550:第11行,第10栏:PLS-00103:   遇到符号&#34; +&#34;期待下列之一时:(   符号&#34;(&#34;代替&#34; +&#34;继续.ORA-06550:第11行,   第24栏:PLS-00103:遇到符号&#34 ;;&#34;当期待其中一个   以下内容:)*&amp; - + / at mod余数rem ||   年份符号&#34;)&#34;取代了#34;;&#34;接着说。   ORA-06550:第14行第7列:PLS-00103:遇到符号&#34; =&#34;   期待以下之一时:(

我做错了什么? 感谢。

1 个答案:

答案 0 :(得分:5)

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