我正在开发一个 Java 应用程序。我已经使用 JDBC Connection 连接到 Oracle DB 并获取它的元数据。我从其元数据中获取表、列、视图等信息。
现在我想从元数据中分别获取应用程序中表和列的注释。如何获取此详细信息?
我正在开发一个 Java 应用程序。我已经使用 JDBC Connection 连接到 Oracle DB 并获取它的元数据。我从其元数据中获取表、列、视图等信息。
现在我想从元数据中分别获取应用程序中表和列的注释。如何获取此详细信息?
现在我想从元数据中分别获取应用程序中表和列的注释。如何获取此详细信息?
对于表格注释,请使用[DBA|ALL|USER]_TAB_COMMENTS
视图。
例子:
SQL> SELECT table_name,
2 comments
3 FROM dba_tab_comments
4 WHERE owner ='OE'
5 AND table_name='INVENTORIES';
TABLE_NAME COMMENTS
----------- ---------------------------------------------------------------
INVENTORIES Tracks availability of products by product_it and warehouse_id.
对于列注释,请使用[DBA|ALL|USER]_COL_COMMENTS
视图。
SQL> SELECT table_name,
2 column_name,
3 comments
4 FROM dba_col_comments
5 WHERE owner ='OE'
6 AND table_name='INVENTORIES';
TABLE_NAME COLUMN_NAME COMMENTS
----------- -------------------- ----------------------------------------------------------------------------
INVENTORIES PRODUCT_ID Part of concatenated primary key, references product_information.product_id.
INVENTORIES WAREHOUSE_ID Part of concatenated primary key, references warehouses.warehouse_id.
INVENTORIES QUANTITY_ON_HAND
SELECT *
FROM user_tab_comments;
SELECT *
FROM user_col_comments;
您也可以使用 all|dba 前缀代替 user。
试试 dbms_metadata 包。有了它,您可以从 db 中提取评论、授权和其他内容。
SELECT DBMS_METADATA.GET_DEPENDENT_DDL('COMMENT','TABLE_NAME','SCHEMA') FROM DUAL