• oracle存储过程中return和exit区别


    create or replace procedure Test5(o_cellphone in varchar2) is

      v_cellphone cc_quiz_stat.cellphone %type;

      v_name      cc_quiz_stat %rowtype;

      v_state     cc_quiz_stat.state %type;

    begin

      declare

        cursor cur_cc is

          select * from cc_quiz_stat;

        cursor cur_jc(v_n varchar2) is

          select state from cc_quiz_stat;

      begin

        open cur_cc;

        loop

          fetch cur_cc

            into v_name;

          exit when cur_cc%notfound;

          open cur_jc(o_cellphone);

          loop

            fetch cur_jc

              into v_state;

            exit when cur_jc %notfound;

            if (o_cellphone = v_name.cellphone) then

             return;

            else

              dbms_output.put_line('手机号' || v_name.cellphone || '省份' ||

                                   v_state);

            end if;

          end loop;

          close cur_jc;

        

        end loop;

        close cur_cc;

      end;

    end Test5;

    执行结果

    手机号18900000000省份全国

    手机号18900000000省份南京

    手机号18900000000省份天津

    手机号18900000000省份 上海

    手机号18900000000省份北京

    create or replace procedure Test5(o_cellphone in varchar2) is

      v_cellphone cc_quiz_stat.cellphone %type;

      v_name      cc_quiz_stat %rowtype;

      v_state     cc_quiz_stat.state %type;

    begin

      declare

        cursor cur_cc is

          select * from cc_quiz_stat;

        cursor cur_jc(v_n varchar2) is

          select state from cc_quiz_stat;

      begin

        open cur_cc;

        loop

          fetch cur_cc

            into v_name;

          exit when cur_cc%notfound;

          open cur_jc(o_cellphone);

          loop

            fetch cur_jc

              into v_state;

            exit when cur_jc %notfound;

            if (o_cellphone = v_name.cellphone) then

             exit;

            else

              dbms_output.put_line('手机号' || v_name.cellphone || '省份' ||

                                   v_state);

            end if;

          end loop;

          close cur_jc;

        

        end loop;

        close cur_cc;

      end;

    end Test5;

    执行结果

    手机号18900000000省份全国

    手机号18900000000省份南京

    手机号18900000000省份天津

    手机号18900000000省份 上海

    手机号18900000000省份北京

    手机号18900000002省份全国

    手机号18900000002省份南京

    手机号18900000002省份天津

    手机号18900000002省份 上海

    手机号18900000002省份北京

    手机号18900000003省份全国

    手机号18900000003省份南京

    手机号18900000003省份天津

    手机号18900000003省份 上海

    手机号18900000003省份北京

    手机号18900000004省份全国

    手机号18900000004省份南京

    手机号18900000004省份天津

    手机号18900000004省份 上海

    手机号18900000004省份北京

    return 跳出整个循环,本循环后面的不再执行,

    exit 跳出本次循环,下次继续执行本次循环

  • 相关阅读:
    【重学计算机】计组D2章:数据表示
    【重学计算机】计组D1章:计算机系统概论
    计算机底层原理杂谈(白话文)
    阿里云安装wordpress遇到的问题
    wordpress数据表结构
    家用计费系统ER图
    java 类中的属性为什么一般都是私有的
    centos 软件库安装
    linux下启动tomcat----Cannot find ./catalina.sh
    jfreechart图表汉字乱码问题解决方案
  • 原文地址:https://www.cnblogs.com/qishiguilai/p/2916744.html
Copyright © 2020-2023  润新知