PL_SQL基础--续二

PL_SQL的分支和循环:

 

 declare
  v_sal emp.sal%type;
 begin
  select sal into v_sal from emp
   where empno = 7369;
  if(sal < 1200) then
   dbms_output.put_line('low');
  elsif(v_sal<2000) then  --注意elsif拼写,少一个e.
   dbms_output.put_line('middle');
  else   ---注意else后面不跟then
   dbms_output.put_line('high');
  end if;  ---endif后面要有分号(;)
 end;

 

循环:
 ---相当于do-while循环
 declare
  i binary_integer := 1;
 begin
  loop   ---循环开始
   dbms_output.put_line(i);
   i := i + 1;
   exit when(i >=11); ---跳出循环的条件
  end loop;  --循环结束
 end;

 --相当于while循环
 declare
  j binary_integer := 1;
 begin
  while j < 11 loop
   dbms_output.put_line(j);
   j := j+1;
  end loop;
 end;
 
 ---相当于for循环
 begin
  for k in 1..10 loop
   dbms_output.put_line(k);
  end loop;

  for k in reverse 1..10 loop ---reverse逆序循环 从10到1.
   dbms_output.put_line(k);
  end loop;
 end;

 

错误处理:
 declare
  v_temp number(4);
 begin
  select empno into v_temp from emp where deptno = 10;
 exception
  when too_many_rows then
   dbms_output.put_line('太多记录了');
  when no_data_found then
   dbms_output.put_line('没数据');
  when others then
   dbms_output.put_line('error');
 end;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值