PLS-00103: 遇到了符号";",而期望的是以下之一:
我的代码中有什么问题?
SQL> declare
2 mark number :=50;
3 begin
4 mark :=& mark;
5 if (mark between 85 and 100)
6 then
7 dbms_output.put_line('mark is A ');
8 else if (mark between 50 and 65) then
9 dbms_output.put_line('mark is D ');
10 else if (mark between 66 and 75) then
11 dbms_output.put_line('mark is C ');
12 else if (mark between 76 and 84) then
13 dbms_output.put_line('mark is B');
14 else
15 dbms_output.put_line('mark is F');
16 end if;
17 end;
18 /
Enter value for mark: 65
old 4: mark :=& mark;
new 4: mark :=65;
end;
*
第17行的ERROR: ORA-06550:第17行,第4列: PLS-00103: 遇到了符号";",而期望的是以下内容之一: 如果
6
2
问题是,这里的else和if是两个运算符。由于你打开了一个新的'if',你需要一个相应的'end if'。
因此:
另外,你可以使用elsif:
在
PL/SQL
中,IF语句有这些形式:你使用了
elseif
,就PL/SQL而言,这是错误的。需要用 "ELSIF "来代替。