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 ; 
    
  • 相关阅读:
    UVA138 Street Numbers(数论)
    UVA11388 GCD LCM(数论)
    POJ1088 滑雪(记忆化搜索)
    POJ1003 Hangover
    POJ1836 Alignment(LIS)
    POJ1062 昂贵的聘礼(最短路)
    POJ3083 Children of the Candy Corn(搜索)
    POJ1068 Parencodings(模拟)
    POJ1573 Robot Motion(模拟)
    POJ2632 Crashing Robots(模拟)
  • 原文地址:https://www.cnblogs.com/zuo72/p/8051551.html
Copyright © 2011-2022 走看看