PLSQL语言 分支循环

IF  ,ELSIF, CASE WHEN

DECLARE
  A NUMBER;

BEGIN
  /* a:= 10;
  dbms_output.put_line(a);*/
  /* A := 0 ;
  IF A < -1 THEN
    --if后面要加then ,else后面就不用加,elsif(注意:没有e) 后面也要加then
    DBMS_OUTPUT.PUT_LINE('对了');
    ELSIF a>1 THEN
          DBMS_output.put_line('哈哈');
  ELSE
    DBMS_OUTPUT.PUT_LINE('撸撸');
  
  END IF;*/
  A := 1;
  CASE A
    WHEN 1 THEN
      DBMS_OUTPUT.PUT_LINE('对了');
    WHEN 2 THEN
      DBMS_OUTPUT.PUT_LINE('哈哈');
    WHEN 3 THEN
      DBMS_OUTPUT.PUT_LINE('撸撸');
    
  END CASE;
 
END;

GOTO 标签  , LOOP 循环,for循环,游标的使用, NULL的含义

declare 
 
  i integer;
begin
  i:= 5;
  IF i=5 THEN
    GOTO 啦啦;  --无条件分支
  ELSE 
    NULL;
  END IF;
  dbms_output.put_line('洛洛');
  << 啦啦>>  --标签名
     dbms_output.put_line('嘿嘿');
declare 
 
  i integer;
  stus  student%ROWTYPE;   --表里面每一行的类型,把其看成一个对象,引用类型
  CURSOR stu IS SELECT * FROM student st;   --游标查询的是那个student表里面的内容
begin
  i:= 5;
  IF i=5 THEN
    GOTO 啦啦;  --无条件分支
  ELSE 
    NULL;   --什么都不执行
  END IF;
  dbms_output.put_line('洛洛');
  << 啦啦>>  --标签名
     dbms_output.put_line('嘿嘿');
     LOOP
       EXIT WHEN i=0;  --退出循环的条件
       dbms_output.put_line(i);
       i:= i-1;
     
     END LOOP;
     WHILE i > 0 LOOP   --while 循环
        dbms_output.put_line(i);
       i:= i-1;
      END LOOP; 
      FOR  ss IN 2..5   --数值型for 循环
        LOOP
           dbms_output.put_line(ss);
        END LOOP;
        --游标型for循环
        FOR ss IN stu   --跟迭代器的效果相类似
          LOOP
             dbms_output.put_line(ss.name); --把student表里面的名字打印出来,并且只能单条信息的查询
          END LOOP;
          
          --另一种方法用for循环的方式来遍历游标
          在游标里面的属性:
              FOUND NOTFOUND ROWCOUNT ISOPEN
             OPEN stu;  --打开游标
                LOOP
                  FETCH stu INTO stus;  --把游标放在引用类型里面   
                  EXIT WHEN stu%NOTFOUND;   --当里面没有内容的时候退出for循环
                   dbms_output.put_line(stus.name);
                END LOOP;
             CLOSE stu; --关闭游标
          
          
        
        
   END ; 
原文地址:https://www.cnblogs.com/zuo72/p/8051551.html