Oracle 查询以提取列名
问题:
修改 MySQL 查询,以便从 Oracle 11g 数据库中的表中提取列名,特别是要排除某些列并指定模式。目前尚不清楚是否可以使用表空间名称代替模式名称。
解决方案:
1. MySQL 查询的 Oracle 等效项:
MySQL 的 information_schema.COLUMNS 在 Oracle 中的等效项是 USER_TAB_COLS(用于当前用户拥有的表),或 ALL_TAB_COLS 或 DBA_TAB_COLS(用于所有用户拥有的表)。
2. 模式与表空间:
表空间不等同于模式。表空间指的是数据库对象的物理存储,而模式指的是数据库对象的逻辑分组。
3. Oracle 查询示例:
这是一个修改后的 Oracle 查询,用于从 users 表中提取列名,排除指定的列并指定模式:
<code class="language-sql">SELECT column_name FROM all_tab_cols WHERE table_name = 'USERS' AND owner = '[_db]' AND column_name NOT IN ('PASSWORD', 'VERSION', 'ID')</code>
注意:
以上是如何从 Oracle 表中获取特定列名,排除某些列?的详细内容。更多信息请关注PHP中文网其他相关文章!