sun*_*leo 3 sql oracle plsql syntax-error
似乎没问题但是我得到了例外,请纠正我.
declare
var_number number;
begin
var_number := 10;
if var_number > 100 then
dbms_output.put_line(var_number||' is greater than 100');
elseif var_number < 100 then
dbms_output.put_line(var_number||' is less than 100');
else
dbms_output.put_line(var_number||' is equal to 100');
end if;
end;
Run Code Online (Sandbox Code Playgroud)
例外:
ORA-06550: line 8, column 8:
PLS-00103: Encountered the symbol "VAR_NUMBER" when expecting one of the following:
:= . ( @ % ;
ORA-06550: line 13, column 4:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
if
Run Code Online (Sandbox Code Playgroud)
Old*_*mer 13
Oracle PL/SQL的关键字是"ELSIF"(没有额外的"E"),而不是ELSEIF(是的,令人困惑和愚蠢)
declare
var_number number;
begin
var_number := 10;
if var_number > 100 then
dbms_output.put_line(var_number||' is greater than 100');
elsif var_number < 100 then
dbms_output.put_line(var_number||' is less than 100');
else
dbms_output.put_line(var_number||' is equal to 100');
end if;
end;
Run Code Online (Sandbox Code Playgroud)
IF 语句具有以下形式PL/SQL:
IF THEN
IF THEN ELSE
IF THEN ELSIF
Run Code Online (Sandbox Code Playgroud)
您所使用elseif的 PL/SQL 术语是错误的。需要将其替换为ELSIF.
所以你的代码应该像这样。
declare
var_number number;
begin
var_number := 10;
if var_number > 100 then
dbms_output.put_line(var_number ||' is greater than 100');
--elseif should be replaced with elsif
elsif var_number < 100 then
dbms_output.put_line(var_number ||' is less than 100');
else
dbms_output.put_line(var_number ||' is equal to 100');
end if;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87542 次 |
| 最近记录: |