Oracle APEX Table/Viewer 所有者下拉菜单
Oracle APEX Table/Viewer Owner dropdown
如何编辑下拉菜单中显示的架构,以便为新 table、表单等选择 table 所有者?我已经在 APEX Internal 中添加了我想要的模式。创建新应用程序时,我将所有模式都视为选项,但对于同一工作区中的其他应用程序,此下拉列表中没有。我还看到未分配给此工作区的架构选项。这份名单从何而来?
看起来那个列表是select像这个
的结果
SELECT DISTINCT
owner
FROM
all_tables
WHERE owner NOT IN (<any of the internal oracle schemas like sys, system, ctxsys, etc>)
UNION
SELECT DISTINCT
owner
FROM
all_views
WHERE owner NOT IN (<any of the internal oracle schemas like sys, system, ctxsys, etc>)
;
此 select 是 运行 作为拥有该应用程序的数据库用户。
要对此进行测试:假设应用程序归 SCOTT 所有,并且模式 HR 存在但不在下拉列表中。将 HR 架构中 table 上的 select 授予 SCOTT。观察 HR 现在出现在下拉列表中。
从应用程序的角度来看,这是有道理的 - 此 select 向您展示了具有当前模式可以访问的对象的模式。如果其中没有任何 table 可以 select,显示架构有什么用?
如何编辑下拉菜单中显示的架构,以便为新 table、表单等选择 table 所有者?我已经在 APEX Internal 中添加了我想要的模式。创建新应用程序时,我将所有模式都视为选项,但对于同一工作区中的其他应用程序,此下拉列表中没有。我还看到未分配给此工作区的架构选项。这份名单从何而来?
看起来那个列表是select像这个
的结果SELECT DISTINCT
owner
FROM
all_tables
WHERE owner NOT IN (<any of the internal oracle schemas like sys, system, ctxsys, etc>)
UNION
SELECT DISTINCT
owner
FROM
all_views
WHERE owner NOT IN (<any of the internal oracle schemas like sys, system, ctxsys, etc>)
;
此 select 是 运行 作为拥有该应用程序的数据库用户。 要对此进行测试:假设应用程序归 SCOTT 所有,并且模式 HR 存在但不在下拉列表中。将 HR 架构中 table 上的 select 授予 SCOTT。观察 HR 现在出现在下拉列表中。
从应用程序的角度来看,这是有道理的 - 此 select 向您展示了具有当前模式可以访问的对象的模式。如果其中没有任何 table 可以 select,显示架构有什么用?