和java 语言类似 if () {} else if() {} else {}
oracle 存储过程中流程控制 这么写。
if 条件 then 语句
else if 条件 then 语句;
end if;
踩坑 oracle 里不是 else if 而是 elsif ,,注意单词拼写。。。。
按照else if 写 有几个else if 语句就要写几个 end if。否则编译不通过。
报错是: PLS-00103:出现符号“loop”在需要下列之一时:if
正确写法是这样
if 条件 then 语句
elsif 条件 then 语句;
end if;
流程控制语句
create or replace procedure testflow is
cursor nameandage is
select sname,sage from tstudent;
--游标变量
s nameandage%rowtype;
begin
for s in nameandage loop
if s.sage<=20 then
dbms_output.put_line(s.sage||'不能处理'||s.sname);
elsif s.sage=21 then
dbms_output.put_line(s.sage||'不可结婚'||s.sname );
elsif s.sage=22 then
dbms_output.put_line(s.sage||'可结婚'||s.sname );
else
dbms_output.put_line(s.sage||'自生自灭'||s.sname );
end if;
end loop;
end testflow;
调试时遇到编译错误 如何查看。
点击右键 查看