如何从 Oracle 表中检索列名?
在 Oracle 11g 及更高版本中,您可以使用 USER_TAB_COLS
表来获取当前用户拥有的表的列名。对于所有用户拥有的表,请使用 ALL_TAB_COLS
或 DBA_TAB_COLS
表。
示例查询
要排除某些列并为 'users' 表指定模式,您可以使用以下查询:
<code class="language-sql">SELECT column_name FROM all_tab_cols WHERE table_name = 'USERS' AND owner = '<schema_name>' AND column_name NOT IN ('PASSWORD', 'VERSION', 'ID')</code>
注意: 表名和列名通常在 Oracle 中以大写形式表示,请确保您的查询中也使用大写。
表空间与模式
在 Oracle 中,表空间和模式并不等同。表空间指的是表的物理存储位置,而模式是用户或角色拥有的数据库对象的逻辑分组。因此,您无需在查询中指定表空间名称。
通用的 HQL 等效项
上述 Oracle 查询没有直接的 HQL 等效项。但是,您可以在 JPA 中使用 TableSchema
和 TableColumn
注解来指定模式和要排除的列。
以上是如何从 Oracle 表中检索列名?的详细内容。更多信息请关注PHP中文网其他相关文章!