存储过程流程控制语句

和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;

调试时遇到编译错误 如何查看。
在这里插入图片描述

点击右键 查看
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值