我正在尝试编译同事留给我的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开发人员中编译软件包规格时,我指出
'V' must be declared.
由于离开我的同事该代码不再可用,因此我不知道如何编译它们。
答案 0 :(得分:1)
v
函数在Apex环境中有意义;它将返回您传递给它的参数的值。在您的示例中,将是这样的:
v('SESSION') = 32604633949883 --> session ID
v('APP_USER') = LITTLEFOOT --> user logged to Apex
除了Apex环境外,v
函数还可以在您命名的PL / SQL存储过程,程序包等中使用。
由于您无法编译该代码,因此包含该软件包的数据库中似乎没有安装Apex。在那儿?如果没有,那么您将无法编译它,因此您可以:
v
函数调用