Oracle控制语句(if , loop , while , for)

原创 2012年03月26日 18:41:09
--if...then...elsif..then.. else...end if

declare
   num integer;
   inputno number(10);
begin
   inputno :='&请输入';
   select sal into num from scott.emp where empno=inputno;
   if(num<2000) then
     dbms_output.put_line('薪水低于2000');
   elsif (num>=2000 and num<=3000) then
     dbms_output.put_line('薪水在3000-2000之间');
   else
       dbms_output.put_line('薪水高于3000'); 
   end if;
end;


--case语句
declare
     v_deptno number:=10;
     v_sal number;
begin
 case v_deptno
      when 10 then  v_sal:=1;
      when 20 then  v_sal:=2;
      else 
           v_sal:=3;
 end case;
 update scott.emp set sal=sal+v_sal where deptno=v_deptno ;
 commit;
end;


--目标  使用case 语句统计员工薪水等级
select ename,sal,case
    when sal<2000 then '低等' 
    when sal>=2000 and sal<3000 then '中等'
    when sal>=3000 and sal<4000 then '上等'
    else  '高等'
    end  薪水等级
from emp;


--循环控制语句  loop...exit when...end loop循环控制 
declare
    v_i int:=1;
begin
    loop
        v_i:=v_i+1;
        exit when v_i=20;
        dbms_output.put_line(v_i);
    end loop; 
end;

--while...loop...end loop循环控制 
--九九乘法表
declare
  v_i number:=1;
  v_j number;
begin
  while(v_i<10)  loop
      v_j:=1;
      loop
          dbms_output.put(v_j||'*'||v_i||'='||v_j*v_i||'  ');
          v_j:=v_j+1;
          exit when v_j>v_i;
      end loop;
      dbms_output.put_line('');
      v_i:=v_i+1;
  end loop;
end;

--for循环
--for 循环变量 in [reverse] 循环下界..循环上界 loop 
       --循环处理语句段;  
--end loop;
declare 
  v_sum number:=1;
begin
   for i in  1..5 loop
       v_sum:=v_sum*i;
   end loop;
   dbms_output.put_line('阶乘结果:'||v_sum);
end;

Oracle-34-if语句、case语句、loop循环、while循环、for循环

一、IF语句 在PL/SQL中,if, then, else, elsif, endif等关键字用来执行条件逻辑 语法格式: if  条件1 then       语句1 elsif...
  • wy_0928
  • wy_0928
  • 2016年04月15日 10:03
  • 5532

oracle的loop等循环语句的几个用法小例子

--loop循环用法 (输出1到10) declare v_num number(2) := 0; begin loop v_num := v_num + 1; exit whe...
  • gdjlc
  • gdjlc
  • 2017年03月20日 14:23
  • 7320

Oracle 存储过程中的循环语句写法

资料来源:http://liliangjie.iteye.com/blog/812771 首先科普一下:  oracle 游标属性 sql%found sql%notfound sql%row...
  • ying890
  • ying890
  • 2016年05月23日 20:30
  • 4599

Oracle-34-if语句、case语句、loop循环、while循环、for循环

一、IF语句 在PL/SQL中,if, then, else, elsif, endif等关键字用来执行条件逻辑 语法格式: if  条件1 then       语句1 elsif...
  • wy_0928
  • wy_0928
  • 2016年04月15日 10:03
  • 5532

oracle编程 if, for , while, loop, 存储过程,触发器,游标演示

dept,employee和《oracle常用语句,带详细的说明》中的表一致!   /*作用:sql编程   说明:declare 申明变量,constant 常量,语言块要放在begin end...
  • christine_Ruan
  • christine_Ruan
  • 2012年05月20日 15:09
  • 2763

linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例

shell if for while
  • heli200482128
  • heli200482128
  • 2016年06月20日 17:56
  • 307

linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例

linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case)。下面我将通过例子介绍下,各个语句使用方法。一、shell条件语句(if用...
  • zwfmu
  • zwfmu
  • 2017年05月04日 14:49
  • 282

linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例

linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例 linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,whi...
  • ljzcom
  • ljzcom
  • 2012年01月21日 10:13
  • 439

linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例

转载于http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html linux shell有一套自己的流程控制语句,其中包括条件语...
  • u012459917
  • u012459917
  • 2014年10月13日 17:48
  • 471

Octave教程五:控制语句if/while/for以及函数的定义和使用

Octave教程五:控制语句if/while/for以及函数的定义和使用在这篇文章中,我将告诉你该怎样为你的Octave程序写控制语句,诸如if/while/for这些语句,以及如何定义和使用方程。>...
  • HuYang_M
  • HuYang_M
  • 2017年12月10日 14:51
  • 49
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle控制语句(if , loop , while , for)
举报原因:
原因补充:

(最多只允许输入30个字)