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

  • 相关阅读:
    数据结构之栈和队列
    数据结构之线性表
    关于优惠券优惠的思路以及实践
    mysql基础知识扫盲
    rabbitMQ第五篇:Spring集成RabbitMQ
    rabbitMQ第四篇:远程调用
    rabbitMQ第三篇:采用不同的交换机规则
    rabbitMQ第二篇:java简单的实现RabbitMQ
    rabbitMQ第一篇:rabbitMQ的安装和配置
    java容器详细解析
  • 原文地址:https://www.cnblogs.com/HondaHsu/p/3118502.html
Copyright © 2011-2022 走看看