zoukankan      html  css  js  c++  java
  • Oracle循环中的EXIT、RETURN、CONTINUE解密

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    PROCEDURE P_TASK IS
      BEGIN
        FOR MY_CU IN (SELECT SPBH, SPMCH FROM FUCM) LOOP
          FOR MY IN (SELECT SPBH, SPMCH FROM FUCM) LOOP
            IF MY_CU.SPBH = 'AAA' THEN
              RETURN;
              --exit;
              --continue;
            ELSIF MY.SPBH = 'BBB' THEN
              INSERT INTO FUCM_JG (SPBH, SPMCH) VALUES ('123''123');
            ELSE
              INSERT INTO FUCM_JG (SPBH, SPMCH) VALUES ('222''222');
            END IF;
            INSERT INTO FUCM_JG (SPBH, SPMCH) VALUES ('333''333');
          END LOOP;
        END LOOP;
        INSERT INTO FUCM_JG (SPBH, SPMCH) VALUES ('444''444');
      END P_TASK;

      

    案例测试得到结果如下(分析的结果中注意本次循环和本循环的区别。本次循环是本循环执行的这次循环):

    第一种:使用RETURN的时候,直接跳出存储过程或者函数

    第二种:使用EXIT的时候,跳出本循环转而执行本循环的上一级循环的下一次循环。就此案例而言MY_CU.SPBH = 'AAA'为真的时候,直接跳出MY循环转而去执行MY_CU的下一次循环

    第三种:使用CONTINUE的时候,本次循环后面的代码部分不再执行,转而执行本循环的下一次循环。就此案例而言MY_CU.SPBH = 'AAA'为真的时候,后面的代码不执行,继续MY的下一次循环

  • 相关阅读:
    apex Error : Given no hashes to check 137 links for project 'pip': discarding no candidates
    源码编译pytorch-1.2.0
    proxychains
    git简单教程
    caffe ssd + cuda9.0
    ros+pcl error recoder
    硬盘挂载
    opencv3.4.1+ubuntu18.04+anaconda 源码编译
    从RocksDBStateBackend讲述Flink的State机制
    由Rocksdb状态后端引出的Tree的应用
  • 原文地址:https://www.cnblogs.com/aipan/p/8080161.html
Copyright © 2011-2022 走看看