首页 >数据库 >mysql教程 >如何从 Oracle 表中获取特定列名,排除某些列?

如何从 Oracle 表中获取特定列名,排除某些列?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-24 17:41:11766浏览

How to Fetch Specific Column Names from an Oracle Table, Excluding Certain Columns?

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 表名和列名通常存储为大写。
  • 在查询中提供用户输入时,务必防止 SQL 注入。

以上是如何从 Oracle 表中获取特定列名,排除某些列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn