declare
expr number;
begin
for lev in 7..10
loop
if lev:=7 then
expr:=8000;
else if i:=8 then
expr:=11000;
else if i:=9 then
expr:=15000;
else numsum:=20000;
Dbms_Output.put_line(numsum);
end loop;
end;
尝试过把:=改为<、>,依旧报错
plsql语句能实现不同的lev值返回对应的expr
3个错误
if 的语法错误, 不是else if 而是elsif,另外,你没有end if
if ... then ...
elsif ... then ...
else ...
end if;
冒号加等于号表示赋值,所以这个错了 lev:=7
后面突然来个i,前面没有声明,或者是写错变量了,numsum这个也是
改成下面这个样子就可以跑通了
declare
expr number;
begin
for lev in 7..10
loop
if lev=7 then
expr:=8000;
elsif lev=8 then
expr:=11000;
elsif lev=9 then
expr:=15000;
else expr:=20000;
end if;
Dbms_Output.put_line(expr);
end loop;
end;
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!