3

我正在开发一个 Java 应用程序。我已经使用 JDBC Connection 连接到 Oracle DB 并获取它的元数据。我从其元数据中获取表、列、视图等信息。

现在我想从元数据中分别获取应用程序中表和列的注释。如何获取此详细信息?

4

3 回答 3

5

现在我想从元数据中分别获取应用程序中表和列的注释。如何获取此详细信息?

对于表格注释,请使用[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
于 2016-02-03T08:24:58.730 回答
2
SELECT *
  FROM user_tab_comments;

SELECT *
  FROM user_col_comments;

您也可以使用 all|dba 前缀代替 user。

于 2016-02-03T07:42:36.947 回答
1

试试 dbms_metadata 包。有了它,您可以从 db 中提取评论、授权和其他内容。 SELECT DBMS_METADATA.GET_DEPENDENT_DDL('COMMENT','TABLE_NAME','SCHEMA') FROM DUAL

于 2016-02-03T10:59:21.173 回答