zoukankan      html  css  js  c++  java
  • 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 ; 
    
  • 相关阅读:
    Oracle导出txt文本文件
    oracle spool
    [Oracle, MySQL] Oracle通过dblink连接MySQL
    正则表达式速查表
    常用的正则表达式
    python3 打印九九乘法口诀表
    canda 常用命令
    python3 拼接字符串的7种方法
    Python 字符串格式化输出方式
    PyCharm 解决有些库(函数)没有代码提示
  • 原文地址:https://www.cnblogs.com/zuo72/p/8051551.html
Copyright © 2011-2022 走看看