====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;
/

Oracle基本流程语句的更多相关文章

  1. Oracle和SQL语句的优化策略(基础篇)

    转载自: http://blog.csdn.net/houpengfei111/article/details/9245337 http://blog.csdn.net/uniqed/article/ ...

  2. Oracle的update语句优化研究

    最近研究sql优化,以下文章转自互联网: 1.     语法 单表:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 如:update t_join_situation s ...

  3. Oracle动态执行语句

      一.为什么要使用动态执行语句? 由于在PL/SQL 块或者存储过程中只支持DML语句及控制流语句,并不支持DDL语句,所以Oracle动态执行语句便应允而生了.关于DDL与DML的区别,请参见:D ...

  4. 第七课第一节,T语言流程语句( 版本5.0)

    流程语句 if语句 用if语句可以构成分支结构.它根据给定的条件进行判断,以决定执行某个分支程序段.TC综合开发工具的if语句有三种基本形式,并且每个语句的结尾都要有一个end (注:关键字,if,e ...

  5. 【转】Oracle 执行动态语句

    1.静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型:另外一 ...

  6. Oracle分页查询语句的写法(转)

    Oracle分页查询语句的写法(转)   分页查询是我们在使用数据库系统时经常要使用到的,下文对Oracle数据库系统中的分页查询语句作了详细的介绍,供您参考. Oracle分页查询语句使我们最常用的 ...

  7. oracle常用SQL语句(汇总版)

    Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...

  8. Python学习笔记总结(一)对象和流程语句总结

    一.对象类型 1.数字 数字:不可变 2.字符串 字符串:不可原处修改[修改需要创建新的对象],有顺序,支持求长(len),合并(+),重复(*),索引S[0],分片(S[1:3]],成员测试(in) ...

  9. oracle之sql语句优化

    oracle之sql语句优化 sql语句的优化 1.在where子句中使用 is null 或 is not null 时,oracle优化器就不能使用索引了. 2.对于有连接的列,即使最有一个是静态 ...

随机推荐

  1. POJ 2632 Crashing Robots (坑爹的模拟题)

    Crashing Robots Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6599   Accepted: 2854 D ...

  2. 菜鸟从零学编程(七)——搭建一个完整的Java开发环境

    作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,eclipse(或者myeclipse ...

  3. Flume 1.5日志收集和存款mongodb安装结构

    Flume该演示是不是说.你可以自己搜索. 但现在的互联网主要是Flume 1.4前版本号的信息.Flume 1.5在轰动的大变化.假设你准备尝试,我在这里给大家介绍一下程序最小化结构,和使用Mong ...

  4. alv 列标题

    gs_fieldcat-reptext_ddic才是显示列标题的

  5. VC GDI双缓冲机制绘图防屏幕闪烁实现步骤

    在OnDraw(CDC* pDC) 中添加如下代码 CDC MemDC; //首先定义一个显示设备对象 CBitmap MemBitmap;//定义一个位图对象 //随后建立与屏幕显示兼容的内存显示设 ...

  6. Jetty:配置安全

    用${jetty.home}和${jetty.base}配置安全 Jetty 9.1中:  1)${jetty.home}是jetty公布(二进制)的文件夹路径:  2)${jetty.base}是用 ...

  7. 创建android画笔程序的样例(有镜面效果)

    先上图: 关键是在检測到手指移动的时候用mPath.quadTo的方法,android sdk解释是: Add a quadratic bezier from the last point, appr ...

  8. 温故知新-------jQuery层次选择器

    <html xmlns="http://www.w3.org/1999/xhtml">  <head>     <title></titl ...

  9. appium简明教程

    appium简明教程 什么是appium? 下面这段介绍来自于appium的官网. Appium is an open-source tool you can use to automate mobi ...

  10. 盒子游戏(The Seventh Hunan Collegiate Programming Contest)

    盒子游戏 有两个相同的盒子,其中一个装了n个球,另一个装了一个球.Alice和Bob发明了一个游戏,规则如下:Alice和Bob轮流操作,Alice先操作.每次操作时,游戏者先看看哪个盒子里的球的数目 ...