如何使用 APEX 函数编译 Oracle 包?

How to compile Oracle package with APEX functions?

我正在尝试编译同事留给我的 Oracle 程序包。但是,包装规格。包含一些可能无法在我的 Oracle 环境中构建的功能。

create or replace PACKAGE AAA IS
  g_session     VARCHAR2(400) := v('SESSION');
  g_user        VARCHAR2(400) := v('APP_USER');

  PROCEDURE p_1;
END AAA;

当我尝试在 Oracle Developer 中编译包规范时,我声明

'V' must be declared.

由于给我留下这段代码的同事不再可用,我不知道如何编译它们。

v功能在Apex环境下有意义;它会 return 您传递给它的参数的值。在您的示例中,这将是这样的:

v('SESSION') = 32604633949883   --> session ID
v('APP_USER') = LITTLEFOOT      --> user logged to Apex

除了 Apex 环境之外,v 函数在您命名的 PL/SQL 存储过程、程序包等中工作。

由于您无法编译该代码,似乎在包含该程序包的数据库中没有安装 Apex。在那儿?如果不是,好吧,你将无法编译它,所以你可以:

  • 安装 Apex,或
  • 从您的代码中删除 v 函数调用