====1、IF语句==========

declare
a number:=1;
begin
  if a<1 then
    dbms_output.put_line('a<1');
  elsif a=1 then
    dbms_output.put_line('a=1');
  else
    dbms_output.put_line('a=1');  
  end if;
end;
/

====2、Case语句==========

declare
 sex number:=1;
begin
  case sex
  when 1 then
       dbms_output.put_line('男');
  when 2 then
       dbms_output.put_line('女');
  else
       dbms_output.put_line('其它');
  end;
end;
/
select stuName,
       (case
         when stuAge = 0 then '男'
         when stuAge = 1 then '女'
         else '其它性别'
       end)
  from stu2;
/
SELECT COUNT(CASE
               WHEN stuAge = 0 THEN 1 /*sex 1为男生,2位女生*/
               ELSE NULL END) 男生数,
       COUNT(CASE
               WHEN stuAge = 1 THEN 1
               ELSE NULL END) 女生数
FROM stu2;
/
                    
====3、Loop循环语句==========
  LOOP
           ......
            EXIT [WHEN condition];
  END LOOP;
--例子:
  declare
    a number:=0;
  begin
    loop
      a:=a+1;
      dbms_output.put_line(a);
      exit when a=10;
    end loop;
  end;
  /
 
====4、While循环语句==========
WHILE condition LOOP
           .....
END LOOP;
--例子:
  declare
    a number := 0;
  begin
    while a < 10 Loop
      dbms_output.put_line(a);
      a:=a+1;
    end loop;
  end;
  /
   
====5.FOR循环语句==========
当使用基本循环或WHILE循环时,需要定义循环控制变量,并且循环控制变量不仅可以使用NUMBER类型,
也可以使用其他数据类型。当使用FOR循环时,ORACLE会隐含定义循环控制变量。

FOR counter in [REVERSE] lower_bound. .upper_bound LOOP
         .......
END LOOP;

counter是循环控制变量,并且该变量由oracle隐含定义,不需要显式定义。lower_bound和upper_bound分别对应于
循环控制变量的下界值和上界值,默认情况下,当使用FOR循环时,每次循环时循环控制变量会自动增1.
如果指定REVERSE选项,那么每次循环时循环控制变量会自动减1。示例:  
 
begin
  for a in reverse 1 .. 10 loop
   dbms_output.put_line(a);
  end loop;
end;
/
====6.嵌套语句==========
====6.嵌套语句==========
嵌套循环是指在一个循环语句之中嵌入另一个循环语句,而标号(label)则用于
标记嵌套块或嵌套循环,通过在嵌套循环中使用标号,可以区分内层循环和外层循环,
并且可以在内层循环中直接退出外层循环,在编写时可以用<<label_name>>定义标号。示例:
declare
  result int;
begin
  <<outer>>
  for i in 1 .. 10 loop
    <<inter>>
    for j in 1 .. 10 loop
      result := i + j;
      exit outer when result > 50;
      exit when result = 5;
    end loop inter;
    dbms_output.put_line(result);
  end loop outer;
  dbms_output.put_line(result);
end;
/

最新文章

  1. CNC Fanuc 设备数据采集
  2. Java Web项目的发布
  3. js undefine,null 和NaN
  4. 06-图2 Saving James Bond - Easy Version
  5. java代码判断图片文件格式, 不是根据文件后缀来判断。
  6. maven部署命令
  7. POJ 2594 - Treasure Exploration
  8. 基于HTML5 Canvas的网页画板实现教程
  9. web前端如何让网页布局稳定性和标准性?
  10. 航空客户价值分析特色LRFMC模型——RFM升级
  11. 值得 .NET 开发者了解的15个特性
  12. 解决IOS移动端 Safari流浪器 onclick无法触发的问题
  13. java第五次笔记
  14. Ajax中,执行成功却依然刷新本页面
  15. python 获取lazada菲律宾站地址库
  16. Nginx实践篇(2)- Nginx作为静态资源web服务 - 控制浏览器缓存、防盗链
  17. Linux中运行SpringBoot项目,永久运行
  18. TFS2018 连接 K8S集群的方法
  19. How to Pronounce PROBABLY
  20. RPM包制作方法

热门文章

  1. 28.uva 10891 Game of Sum 记忆化dp
  2. Ajax技术--考试计时并自动提交试卷
  3. ListCtrl控件着色
  4. OpenCv调用摄像头拍照代码
  5. Suse 创建NFS共享目录
  6. Android:通知栏的使用
  7. LIS小结(O(∩_∩)O~哄哄)
  8. tar.gz文件命名和压缩解压方法
  9. 使用函数指针和多态代替冗长的if-else或者switch-case
  10. C#向并口设备发送指令以获取并口设备的状态