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控制语句(if , loop , while , for)

--if...then...elsif..then.. else...end if declare num integer; inputno number(10); begin i...

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

--if...then...elsif..then.. else...end if declare num integer; inputno number(10); begin i...
  • jumtre
  • jumtre
  • 2014年11月03日 16:21
  • 1072

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
  • 5204

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

dept,employee和《oracle常用语句,带详细的说明》中的表一致!   /*作用:sql编程   说明:declare 申明变量,constant 常量,语言块要放在begin end...

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

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

Linux shell awk 流程控制语句(if,for,while,do)详细介绍

转载http://www.cnblogs.com/chengmo/archive/2010/10/04/1842073.html 在linux awk的 while、do-while和for...
  • xlh1991
  • xlh1991
  • 2014年11月25日 00:17
  • 366

Python基础,基本类型(整型,浮点数等)数据结构(List,dic(Map),Set,Tuple),控制语句(if,for,while,continue or break):来自学习资料

3、Python 基础3.1、语法Python的语法比较简单,采用缩进方式。 i = -100 if i >= 0: print(i) else: print(-i)3.2、...

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

转载于http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html linux shell有一套自己的流程控制语句,其中包括条件语...

Python基本语法_控制流语句_if/while/for

目录目录 前言 软件环境 If 语句 While循环 break continue for 循环 遍历String 遍历Tuple 遍历List 遍历Dictionary 最后前言控制流语句用于改变程...
  • Jmilk
  • Jmilk
  • 2015年10月03日 04:54
  • 1152

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

linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例 linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,whi...
  • ljzcom
  • ljzcom
  • 2012年01月21日 10:13
  • 406
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle控制语句(if , loop , while , for)
举报原因:
原因补充:

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