Oracle APEX - получить рабочее пространство для текущего приложения

Мне нужно имя рабочей области текущего приложения для доступа к RESTful API.

Есть ли какая-нибудь подстановочная строка для этого? Или какой самый простой способ получить имя рабочей области текущего приложения?

4 ответа

Вы можете использовать один из них для идентификации:

Bind variable -> :WORKSPACE_ID
PL/SQL -> V('WORKSPACE_ID')
Substitution string -> &WORKSPACE_ID.
SYS_CONTEXT variable - > SELECT ... WHERE workspace_id = SYS_CONTEXT('APEX$SESSION', 'WORKSPACE_ID')

И чтобы получить имя:

select workspace from apex_workspaces where workspace_id = :WORKSPACE_ID

или же

select workspace from apex_workspaces where workspace_id = SYS_CONTEXT('APEX$SESSION', 'WORKSPACE_ID')
select * from apex_applications

Тебе нужно apex_administrator_role получить не только текущие схемы приложений. ... И если вы новичок, вы должны знать о последствиях роли администратора.

select workspace
from apex_applications
where 1=1
  and application_id = :app_id

Вам не нужно apex_administrator_role как предлагает другой ответ, если схема синтаксического анализа не назначена текущей рабочей области.

Мы не нашли решения, что не так с apex_applications, поэтому мы использовали обходной путь с apex_040200.wwv_flow_authorized, который работает правильно для нас.

Другие вопросы по тегам