Как скомпилировать пакет Oracle с функциями APEX? - PullRequest
2 голосов
/ 02 мая 2019

Я пытаюсь скомпилировать пакет 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.

Поскольку коллега, оставивший мне этот код, больше недоступен, я понятия не имею, как их скомпилировать.

1 Ответ

1 голос
/ 02 мая 2019

Функция v имеет смысл в среде Apex;он вернет значение параметра, который вы передаете ему.В вашем примере это будет примерно так:

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

Помимо среды Apex, функция v работает с именованными вами хранимыми процедурами, пакетами и т. П. PL / SQL.

Поскольку вы не можете скомпилировать этот код, похоже, что в базе данных, содержащей этот пакет, не установлено Apex.Есть?Если нет, то вы не сможете скомпилировать его, поэтому вы можете:

  • установить Apex или
  • удалить вызовы функций v из своего кода
...