Как получить комментарии для таблицы и столбца из базы данных oracle из ее метаданных?

Я работаю над Java-приложением. Я подключился к базе данных Oracle с помощью JDBC Connection и получил метаданные. Я извлекаю информацию, такую ​​​​как таблицы, столбцы, представления и т. Д., Из его метаданных.

Теперь я хочу получить комментарии для таблиц и столбцов отдельно в приложении из метаданных. Как я могу получить эти данные?


person Mehaboob Khan    schedule 03.02.2016    source источник
comment
Вы видели этот вопрос о получении метаданных REMARKS из Oracle с помощью JDBC - stackoverflow.com/a/37612403/1695742   -  person Thomas Taylor    schedule 01.07.2020


Ответы (3)


Теперь я хочу получить комментарии для таблиц и столбцов отдельно в приложении из метаданных. Как я могу получить эти данные?

Для комментариев к таблице используйте представление [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
person Lalit Kumar B    schedule 03.02.2016

SELECT *
  FROM user_tab_comments;

SELECT *
  FROM user_col_comments;

Вы также можете использовать префикс all|dba вместо пользователя.

person hinotf    schedule 03.02.2016

Попробуйте пакет dbms_metadata. С его помощью вы можете извлекать комментарии, гранты и другие вещи из БД. SELECT DBMS_METADATA.GET_DEPENDENT_DDL('COMMENT','TABLE_NAME','SCHEMA') FROM DUAL

person Arkadiusz Łukasiewicz    schedule 03.02.2016