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

  • 相关阅读:
    webpack配置之代码优化
    react组件生命周期
    javascript记住用户名和登录密码
    ajax异步请求原理和过程
    深入理解ajax系列第五篇——进度事件
    ajax多次请求,只执行最后一次的方法
    CentOS6.8下MySQL MHA架构搭建笔记
    HTTP状态码
    什么是 Redis 事务?原理是什么?
    Redis 通讯协议是什么?有什么特点?
  • 原文地址:https://www.cnblogs.com/HondaHsu/p/3118502.html
Copyright © 2011-2022 走看看