编写控制结构之case语句

当需要执行多重分支操作时,使用case语句更简洁,且执行效率更高。
使用case语句又2种方式,第一种是使用单一选择符进行等值比较,第二种是使用多种提交进行非等值比较

使用单一选择符进行等值比较:
例如:
declare
  v_no int:=&no;
  v_sal emp.sal%type;
  v_name emp.ename%type;
begin
  select sal,ename into v_sal,v_name from emp where emp.empno=v_no;
  case v_sal
       when 1000 then
            dbms_output.put_line(v_name||'的工资是'||v_sal);
       when 2000 then
            dbms_output.put_line(v_name||'的工资是'||v_sal);
       when 3000 then
            dbms_output.put_line(v_name||'的工资是'||v_sal);    
       when 4000 then
            dbms_output.put_line(v_name||'的工资是'||v_sal);
       when 5000 then
            dbms_output.put_line(v_name||'的工资是'||v_sal);
       else
            dbms_output.put_line('不在范围内');          
  end case;
end;

使用多种提交进行非等值比较
例如:
declare
  v_no int:=&no;
  v_sal emp.sal%type;
  v_name emp.ename%type;
begin
  select sal,ename into v_sal,v_name from emp where emp.empno=v_no;
  case
       when v_sal<1000 then
            update emp set sal=sal*0.1 where empno=v_no;
       when v_sal<2000 then
            update emp set sal=sal*0.2 where empno=v_no;
       when v_sal<3000 then
            update emp set sal=sal*0.3 where empno=v_no;    
       when v_sal<4000 then
            update emp set sal=sal*0.4 where empno=v_no;
       when v_sal<5000 then
            update emp set sal=sal*0.5 where empno=v_no;
       else
            dbms_output.put_line('不在范围内');          
  end case;
end;

 

 

转载于:https://my.oschina.net/abcijkxyz/blog/720315

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值