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退出本次循环程序块,同时退出整个存储过程,其它程序块不会执行。

  • 相关阅读:
    ubuntu上安装nginx+mysql+php5-fpm(PHP5
    创建内存盘
    ubuntu上安装apache2+mysql+php5-fpm(PHP5
    Cubieboard Linaro 搭建超节能监控平台
    CubieBoard开发板数据源介绍
    如何在github创建个人主页?
    android studio配置git
    greenDao使用时遇到的坑
    FragmentManager is already executing transactions
    AndroidSchedulers.mainThread()无法切换到主线程,原来是细节问题啊
  • 原文地址:https://www.cnblogs.com/HondaHsu/p/3118502.html
Copyright © 2011-2022 走看看