PLSQL --流程控制

流程控制

1.条件分支

语法:

 1 -- Created on 2018/8/23 by MENGMENG.CHEN 
 2 declare 
 3   -- Local variables here
 4   i integer;
 5 begin
 6   -- Test statements here
 7   IF 条件1 THEN 执行1
 8     ELSIF 条件2 THEN 执行2
 9       ELSE 执行3
10       END IF;
11 end;

示例:查询emp表中记录是否超过20条,10-20之间,或者10条以下。

 1 -- Created on 2018/8/23 by MENGMENG.CHEN 
 2 --查询emp表中记录是否超过20条,10-20之间,或者10条以下。 
 3 declare 
 4   -- Local variables here
 5   v_count NUMBER;
 6 begin
 7   -- Test statements here
 8   SELECT COUNT(1) INTO v_count FROM emp ;
 9   IF (v_count>20) THEN 
10     dbms_output.put_line('表中记录20以上:'||v_count||'');
11     ELSIF (v_count>10) THEN 
12       dbms_output.put_line('表中记录10-20:'||v_count||'');
13       ELSE 
14         dbms_output.put_line('表中记录10以下:'||v_count||'');
15       END IF;
16 end;

运行结果:

2.循环

  loop

  语法:

 1 -- Created on 2018/8/23 by MENGMENG.CHEN 
 2 declare 
 3   -- Local variables here
 4   i integer;
 5 begin
 6   -- Test statements here
 7   LOOP 
 8     EXIT WHEN 遇到循环条件
 9     END LOOP;
10 end;

示例:打印数字1-10

 1 -- Created on 2018/8/23 by MENGMENG.CHEN 
 2 --打印数字1-10
 3 declare 
 4   -- Local variables here
 5   --声明循环变量
 6   v_num NUMBER;
 7 BEGIN
 8   --赋值
 9   v_num:=1;
10   -- Test statements here
11   LOOP 
12     EXIT WHEN v_num>10;
13     dbms_output.put_line(v_num);
14     --循环变量的自增长
15     v_num := v_num + 1;
16     END LOOP;
17 end;

运行结果:

原文地址:https://www.cnblogs.com/ChenMM/p/9525113.html