zoukankan      html  css  js  c++  java
  • 如何区别存储过程中的EXIT与RUTURN

    第一步:测试存储过程中使用EXIT

    create or replace procedure P_TEST_RETURN_EXIT is

    i number:=1;
    j number:=1;
    begin

    for i in 1..20 loop

    dbms_output.put_line('输出数据='||i);
    if (i>10) then
    EXIT;
    end if;

    end loop;


    for j in 1..20 loop

    dbms_output.put_line('输出数据='||j);
    end loop;


    end P_TEST_RETURN_EXIT;

    测试结果:

    输出数据=1
    输出数据=2
    输出数据=3
    输出数据=4
    输出数据=5
    输出数据=6
    输出数据=7
    输出数据=8
    输出数据=9
    输出数据=10
    输出数据=11
    输出数据=1
    输出数据=2
    输出数据=3
    输出数据=4
    输出数据=5
    输出数据=6
    输出数据=7
    输出数据=8
    输出数据=9
    输出数据=10
    输出数据=11
    输出数据=12
    输出数据=13
    输出数据=14
    输出数据=15
    输出数据=16
    输出数据=17
    输出数据=18
    输出数据=19
    输出数据=20

    第二步:测试存储过程中使用RETURN

    create or replace procedure P_TEST_RETURN_EXIT is

    i number:=1;
    j number:=1;
    begin

    for i in 1..20 loop

    dbms_output.put_line('输出数据='||i);
    if (i>10) then
    RETURN;
    end if;

    end loop;


    for j in 1..20 loop

    dbms_output.put_line('输出数据='||j);
    end loop;


    end P_TEST_RETURN_EXIT;

    测试结果:

    输出数据=1
    输出数据=2
    输出数据=3
    输出数据=4
    输出数据=5
    输出数据=6
    输出数据=7
    输出数据=8
    输出数据=9
    输出数据=10
    输出数据=11

    结论:

    存储过程的循环中EXIT退出本次循环程序块,但会继续执行存储过程的其它程序块。

    存储过程的循环中RETURN退出本次循环程序块,同时退出整个存储过程,其它程序块不会执行。

  • 相关阅读:
    Tinkoff Challenge
    Tinkoff Challenge
    Tinkoff Challenge
    Tinkoff Challenge
    整体二分
    树链剖分+LCT
    上下界网络流
    莫队
    可并堆
    bzoj_1033: [ZJOI2008]杀蚂蚁antbuster
  • 原文地址:https://www.cnblogs.com/HondaHsu/p/3118502.html
Copyright © 2011-2022 走看看