首页 文章

在期待以下之一时遇到符号“”:

提问于
浏览
-1

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

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

    试试这个:

    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;
    

相关问题