zoukankan      html  css  js  c++  java
  • oracle的return、exit、continue的区别

    函数、预存中遇到return就会中断整个函数、预存,return后的代码不会再执行!

    exit是退出整个for循环,即结束该for循环,不执行该for循环了!

    continue是退出该for循环的当前这一次,开始下一次,直到该for循环结束!

    以下2个代码块都是印证return 的作用。代码块一没加“if··· then  end if;”代码块,而代码块二加上了“if··· then  end if;”代码块,两者的运行结果都是·一样的。

    -----代码块一:
    begin--一定要加上begin  end;因為oracle是代碼塊~~~
    for ii in 1..5 loop  
      sys.dbms_output.put_line('此處是return'); 
      return;
      sys.dbms_output.put_line('處於return後、當前循環里的代碼不執行!'); 
    end loop;
    sys.dbms_output.put_line('處於return後、非循環里的代碼不執行!!');
    end;
    ------------------------------------------------
    -----代码块二:
    begin
    for i in 1..5 loop
      if i=2 then
        sys.dbms_output.put_line('此處是return'); 
        return; 
        sys.dbms_output.put_line('處於return後、當前循環里的代碼不執行!');
      end if;  
    end loop;
    sys.dbms_output.put_line('處於return後、非循環里的代碼不執行!!');
    end;

    以上代码块一、代码块二的运行结果都是·一样的:

    所以,函数、预存中遇到return就会中断整个函数、预存,return后的代码不会再执行!

    以下2个代码块都是印证exit 的作用。代码块一没加“if··· then  end if;”代码块,而代码块二加上了“if··· then  end if;”代码块,两者的运行结果都是·一样的。

    --代码块一:
    begin
    for j in 1..5 loop 
      sys.dbms_output.put_line('此處是exit');
      exit;
      sys.dbms_output.put_line('處於exit後、當前循環里的代碼不執行!');   
    end loop;
    sys.dbms_output.put_line('處於exit後、非循環里的代碼也執行了~~');
    end;
    ---------------------------------------------
    --代码块二:
    begin
    for j in 1..5 loop
      if j=2 then
        sys.dbms_output.put_line('此處是exit');
        exit;
        sys.dbms_output.put_line('處於exit後、當前循環里的代碼不執行!'); 
      end if; 
    end loop;
    sys.dbms_output.put_line('處於exit後、非循環里的代碼也執行了~~');
    end;

    以上代码块一、代码块二的运行结果都是·一样的:

    所以,exit是退出整个for循环,即结束该for循环,不执行该for循环了!

    以下2个代码块都是印证continue 的作用。代码块一没加“if··· then  end if;”代码块,而代码块二加上了“if··· then  end if;”代码块,两者的运行结果是不一样的:

    --代码块一
    begin
      for k in 1..5 loop
        sys.dbms_output.put_line('此處是continue');
        continue;
        sys.dbms_output.put_line('處於continue後、當前循環里的代碼不執行!');
      end loop;
      sys.dbms_output.put_line('處於continue後、非循環里的代碼也執行了~~~~~');
    end;
    
    --代码块二
    begin
      for k in 1..5 loop
        if k=3 then
          sys.dbms_output.put_line('此處是continue');
          continue;
          sys.dbms_output.put_line('處於continue後、當前循環里的代碼不執行!!');
        end if;
      end loop;
      sys.dbms_output.put_line('處於continue後、非循環里的代碼也執行了~~~~~');
    end;

    代码块一的结果:

    代码块二的结果:

    所以,continue是退出该for循环的当前这一次,开始下一次,直到该for循环结束!

  • 相关阅读:
    JMeter参数化及断言的使用
    JMeter基础概念
    postman关联
    postman参数化
    postman发送请求的简单操作
    postman的简单介绍及运用
    javascript小记五则:用JS写一个图片左右自由滚动的“跑马灯”效果
    javascript小记四则:用JS写一个滚动横条文字,可以根据需要进行修改;
    javascript小记三则:ASP.NET启动web调试,窗体自动放大的方法
    JavaScript小记二则:接上一节:用.net写Textbox控件关于数字的判断的另一则方法
  • 原文地址:https://www.cnblogs.com/168-h/p/14783999.html
Copyright © 2011-2022 走看看