PLSQL Language Referenc-PL/SQL子程序-子程序的组成-RETURN语句

RETURN语句

RETURN语句立即结束子程序或匿名块的执行。子程序或匿名块可以包含多个RETURN语句。

1)函数中的RETURN

每个执行路径必须到达RETURN语句,每个RETURN语句必须指定表达式。

RETURN语句将表达式的值赋值给函数的标识符,并将控制权返回给调用者,在那里调用结束之后立即继续执行。

DECLARE

    x INTEGER;

   

    FUNCTION f (n INTEGER)

    RETURN INTEGER

    IS

    BEGIN

        RETURN (n*n);

    END;

 

BEGIN

    DBMS_OUTPUT.PUT_LINE ('函数f返回: ' || f(2) || '. 1次执行返回.');

 

    x := f(2);

    DBMS_OUTPUT.PUT_LINE('2次执行返回.');

END;

 

CREATE OR REPLACE FUNCTION f (n INTEGER)

    RETURN INTEGER

IS

BEGIN

    IF n = 0 THEN

        RETURN 1;

    ELSIF n = 1 THEN

        RETURN n;

    ELSE

        RETURN n * n;

    END IF;

END;

/

BEGIN

    FOR i IN 0 .. 3 LOOP

        DBMS_OUTPUT.PUT_LINE('f(' || i || ') = ' || f(i));

    END LOOP;

END;

/

 

2)过程中的RETURN

过程中的RETURN语句将控制权返回给调用者,在那里在调用之后执行立即恢复。

这个RETURN语句不能指定表达式。

DECLARE

    PROCEDURE p IS

    BEGIN

        DBMS_OUTPUT.PUT_LINE('在过程P');

        RETURN;

        DBMS_OUTPUT.PUT_LINE('不会执行的语句.');

    END;

BEGIN

    p;

    DBMS_OUTPUT.PUT_LINE('控制在这里返回');

END;

 

3)匿名块中的RETURN

匿名块中的RETURN语句退出它所在的块,和包围它的块。

这个RETURN语句不能指定表达式。

BEGIN

    BEGIN

        DBMS_OUTPUT.PUT_LINE('在内部块.');

        RETURN;

        DBMS_OUTPUT.PUT_LINE('不会执行的语句.');

    END;

    DBMS_OUTPUT.PUT_LINE('在外部块中. 不会执行的语句.');

END;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1131969/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/17013648/viewspace-1131969/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值