首页 > 经验记录 > PL/SQL程序控制

PL/SQL程序控制

分支结构

分支结构主要是IF和CASE语句
IF语句语法如下:
 
       IF语句:
       IF 判断条件 THEN
              满足条件时的执行语句;
       END IF;
      
       IF…ELSE语句:
       IF 判断条件 THEN
              满足条件时的执行语句;
       ELSE
              不满足条件时执行的语句;
       END IF;
 
       IF…ELSIF…ELSE语句(注意是ELSIF不是ELSEIF):
       IF 判断条件 THEN
              满足条件时的执行语句;
       ELSIF 判断条件2 THEN
              满足条件2时执行的语句;
              …
       ELSE
       所有条件不满足时执行的语句;
       END IF;
 
 
 
CASE语句,这是一种多条件的判断语句,功能和IF…ELSIF…ELSE类似,和java里的switch语法基本上一样,其语法如下:
 
       CASE [变量]
              WHEN[值|表达式] THEN
                     执行语句块;
              WHEN[值|表达式] THEN
                     执行语句块;
              WHEN[值|表达式] THEN
                     执行语句块;
              ……
              ELSE
                     条件都不满足时的执行语句块
       END CASE;
 
 
 

循环结构

在PL/SQL中循环结构定义了两种:LOOP循环、FOR循环(就是JAVA的while循环和for循环= =)
 
       LOOP循环语法:
       LOOP
              循环执行的语句块;
              EXIT WHEN 循环结束条件;
              循环结束条件修改
       END LOOP;
 
       WHILE…LOOP循环语法:
       WHILE(循环结束条件)LOOP
              循环执行的语句块;
              循环结束条件修改;
       END LOOP;
 
 
       FOR循环语法:
       FOR 循环索引 IN [REVERSE] 循环区域下限..循环区域上限 LOOP
              循环执行的语句块
       END LOOP;
 
 

循环控制

在正常循环的操作之中,如果需要结束循环或是退出当前循环,则可以使用EXITCONTINUE语句完成。一般这两种控制语句都要结合分支语句进行判断
EXIT类似于java中的break,continue就是一样的。EXIT用于直接跳出循环。CONTINUE用于跳过当前这次循环,执行下一次循环。
 
 
PL/SQL实现九九乘法表:
 

DECLARE
  v_i NUMBER := 1;
  v_j NUMBER := 1;
BEGIN
  FOR v_i IN 1..9 LOOP
     FOR v_j IN 1..v_i LOOP
         DBMS_OUTPUT.PUT(v_j||'*'||v_i||'='||v_j*v_i||'   ');
     END LOOP;
     DBMS_OUTPUT.NEW_LINE;
  END LOOP;
END;
/

 

           


EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00