如何從 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中文網其他相關文章!