遇到了符号" "当期待以下之一时:

时间:2015-04-17 09:26:30

标签: plsql

我创建了一个程序来判断一年是否是闰年。我从一个匿名区块调用我的程序。 这是我的代码

declare 
x number;
y number;
procedure leap(z IN number) IS
BEGIN
if(z%400=0)
then
dbms_output.put_line('leap year');
elsif(z%100=0)
then
dbms_output.put_line('not a leap year');
elsif(z%4=0)
then
dbms_output.put_line('leap year');
else
dbms_output.put_line('Not a year');
end if;
END;
BEGIN
y:=&y;
p1(y);
END;

我收到这些错误: PLS-00103:当遇到以下任何一种情况时遇到符号“400”:

型 ORA-06550:第9行,第9栏: PLS-00103:当遇到以下情况之一时遇到符号“100”:

型 ORA-06550:第12行第9栏: PLS-00103:遇到以下其中一项时遇到符号“4”:

型 06550. 00000 - “行%s,列%s:\ n%s” *原因:通常是PL / SQL编译错误。 *操作:

1 个答案:

答案 0 :(得分:0)

试试这个:

declare 
x number;
y number;
procedure leap(z IN number) IS
BEGIN
if REMAINDER(z,400)=0
then
dbms_output.put_line('leap year');
elsif REMAINDER(z,100)=0
then
dbms_output.put_line('not a leap year');
elsif REMAINDER(z,4)=0
then
dbms_output.put_line('leap year');
else
dbms_output.put_line('Not a year');
end if;
END;
BEGIN
y:=&y;
p1(y);
END;