【oracle笔记】Chapter 2 PL/SQL 控制结构

 

2.6.1 IF-THEN-ELSE

         IF boolean_expression1 THEN

              sequence_of_statements1;

          [ ELSIF boolean_expression2 THEN

               sequence_of_statements2;]

          . . .

          [ELSE

               sequence_of_statementsk;]

          END IF;

 

          每个语句序列仅当其相关的布尔条件求值为TRUE的时候才会被执行。

          如果条件求值为FALSE或 NULL,那么该语句序列将不会被执行。

 

2.6.2 循环

 2.6.2.1 简单循环

        LOOP

            sequence_of_statement;

        END LOOP;

        其中sequence_of_statement将被无限次地执行,因为这个循环没有终止。可以在sequence_of_satement中加入EXIT语句。

        如下:

        EXIT WHEN condition;

        或者

        IF condition THEN

             EXIT;

         END IF;

  2.6.2.2 WHILE循环

       语法:

       WHILE condition LOOP

            sequence_of_statements;

       END LOOP;

       如果condition的布尔值为TURE则执行sequence_of_statement。否则将终止循环而控制将转到END LOOP语句后面的继续进行。

  2.6.2.3 数字式FOR循环

       FOR loop_counter IN [REVERSE] low_bound..high_bound LOOP

            sequence_of_statements

       END LOOP;

       这里loop_counter是隐式声明的索引变量,每循环一次增加1。low_bound和high_bound指定迭代次数。

       FOR循环的循环索引被隐式声明为BINARY_INTEGER。限制循环范围的最大值和最小值可以是能够被转换为数字值的任何表达式。

 

2.6.3 GOTO和标号

      GOTO label;

      标号为  <<label_name>>

      对于块、循环、IF语句,从外层跳转到内层循环是非法的。

      从一个IF子句跳转到另一个子句中也是非法的。

      从一个异常处理块内部跳转到当前快是非法的。

 

    PS: 在编程中,应该尽量少使用GOTO语句。不必要的GOTO语句会产生出”通心粉(spaghetti code)。

2.6.3  NULL语句

      NULL语句不做任何事情,它只是一个占位符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值