【问题标题】:What is the use of RETURN statement in package specification包装规范中 RETURN 语句的用途是什么
【发布时间】:2021-09-17 01:28:11
【问题描述】:

下面的代码编译成功。我想知道的是包规范中 RETURN 语句的用途是什么。这是一个永远不会运行的死语句吗?

CREATE OR REPLACE PACKAGE test_pkg
IS
RETURN NUMBER;
END test_pkg;
/
CREATE OR REPLACE PACKAGE BODY test_pkg
IS
    PROCEDURE test_proc
    IS
    BEGIN
    NULL;
    END test_proc;
END test_pkg;

【问题讨论】:

    标签: sql oracle plsql package


    【解决方案1】:

    很酷,不是吗? RETURN - 在这种情况下 - 不是一个语句,而是一个数据类型为NUMBER变量

    看一个例子:

    SQL> SET SERVEROUTPUT ON
    SQL>
    SQL> CREATE OR REPLACE PACKAGE test_pkg
      2  IS
      3     RETURN  NUMBER;                   --> declared here
      4
      5     PROCEDURE test_proc;
      6  END test_pkg;
      7  /
    
    Package created.
    
    SQL> CREATE OR REPLACE PACKAGE BODY test_pkg
      2  IS
      3     PROCEDURE test_proc
      4     IS
      5     BEGIN
      6        test_pkg.return := 123;       --> used here
      7        DBMS_OUTPUT.put_line ('Return variable''s value = ' || test_pkg.return);
      8     END test_proc;
      9  END test_pkg;
     10  /
    
    Package body created.
    
    SQL> EXEC test_pkg.test_proc;
    Return variable's value = 123
    
    PL/SQL procedure successfully completed.
    
    SQL>
    

    【讨论】:

      猜你喜欢
      • 2012-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      • 1970-01-01
      • 2017-05-11
      • 2017-02-15
      • 2016-01-24
      相关资源
      最近更新 更多