oracle - Oracle APEX 表/查看器所有者下拉列表
问题描述
如何编辑下拉菜单中出现的模式,以便为新表、表单等选择表所有者?我已经在 APEX 内部添加了我想要的模式。创建新应用程序时,我将所有模式都视为选项,但在同一工作区中的其他应用程序的下拉列表中却没有。我还看到未分配给此工作区的架构选项。这份名单来自哪里?
解决方案
看起来该列表是这样一个选择的结果
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>)
;
此选择以拥有该应用程序的数据库用户身份运行。要对此进行测试:假设应用程序归 SCOTT 所有,并且架构 HR 存在但不在下拉列表中。将 HR 模式中的表上的选择权限授予 SCOTT。观察 HR 现在出现在下拉列表中。
从应用程序的角度来看,这是有道理的 - 此选择向您显示具有当前模式可以访问的对象的模式。如果您可以选择其中没有任何表,那么显示模式有什么用?
推荐阅读
- airflow - 无法为 Airflow LocalExecutor 设置 MySQL 后端
- java - 文件处理和字排序
- javascript - Turn.js 和 AJAX 集成
- react-native - 如何在本机反应中从外部存储加载 webView
- c++11 - 根据条件求 y 的值:
- javascript - 如何在 Phaser 3 中阻止场景为空白
- pyttsx3 - PYTTSX3 AttributeError:模块“驱动程序”没有属性“驱动程序代理”
- arrays - 如何从数组中消除在python中不同索引位置具有共同元素的行?
- php - Php Laravel 迁移@@version 问题
- language-agnostic - 为什么在实现邻接表时基于哈希表的数据结构不是默认的?