标签: plsql-package

Oracle 中的“过程名称 IS”和“过程名称 AS”有什么区别?

PROCEDURE 样本(p_num1 IN TABLE%TYPE,p_num2 OUT NUMBER)是

或者

PROCEDURE 示例(p_num1 IN TABLE%TYPE,p_num2 OUT NUMBER)AS

oracle plsql-package

1
推荐指数
1
解决办法
64
查看次数

包体内有两个同名但参数不同的函数是什么意思?

在包规范中,函数名称仅出现一次,因此它不会重载。在包体中,相同的函数名称使用不同的参数集出现两次。其中之一的参数与封装规格中的参数相同。我的问题是,包体中的“第一个 func”是否实际被调用,如果是,它到底在做什么?它正试图回归自己。

    --package specification
    CREATE OR REPLACE 
    PACKAGE jtestpkg
      IS
    FUNCTION testfunc(p_num IN NUMBER, p_out1 IN out varchar2, p_out2 IN out varchar2)
      RETURN NUMBER;
    END jtestpkg;

    --package body
    CREATE OR REPLACE 
    PACKAGE BODY jtestpkg
      IS
      --first func
      function testfunc
            (p_num IN NUMBER,
             p_out1 IN OUT varchar2) 
            return number is
                v_out2 varchar2(50);
      BEGIN
      dbms_output.put_line('invoking first func');
          RETURN testfunc(
              p_num,
              p_out1,
              v_out2);
      END;
      --second func
      FUNCTION testfunc(
                p_num IN NUMBER,
                p_out1 IN OUT varchar2,
                p_out2 IN OUT varchar2)
        RETURN NUMBER
        IS
        v_num …
Run Code Online (Sandbox Code Playgroud)

oracle plsql overloading plsql-package

0
推荐指数
1
解决办法
2427
查看次数

如何使用私有过程创建 Oracle 包?

我正在创建一个 Oracle 包,我想知道是否可以将 prcedure 设为私有,这是我的示例代码:

CREATE OR REPLACE PACKAGE MYSCHEMA.MyPackage AS
 PROCEDURE MyProcedureA(outputParam OUT VARCHAR2);
 PROCEDURE MyProcedureB(inputParam IN VARCHAR2);
END MyPackage;

/

CREATE OR REPLACE PACKAGE BODY MYSCHEMA.MyPackage AS

 PROCEDURE MyProcedureA(outputParam OUT VARCHAR2) AS
  myHello VARCHAR2(1000) := 'Hello';
 BEGIN
  MyProcedureB(myHello);
  outputParam := 'OK';
 END MyProcedureA;

 PROCEDURE MyProcedureB(inputParam IN VARCHAR2) AS
  myWorld VARCHAR2(1000) := 'World';
 BEGIN
  dbms_output.put_line(inputParam || myWorld);
 END MyProcedureB;

END MyPackage;
Run Code Online (Sandbox Code Playgroud)

是否可以将 MyProcedureB 设为“私有”,我的意思是它只能由包 (MyProcedureA) 中的其他程序调用?

sql oracle plsql plsqldeveloper plsql-package

0
推荐指数
1
解决办法
33
查看次数

标签 统计

oracle ×3

plsql-package ×3

plsql ×2

overloading ×1

plsqldeveloper ×1

sql ×1