私はJavaアプリケーションに取り組んでいます。JDBC 接続を使用して Oracle DB に接続し、メタデータを取得しました。メタデータからテーブル、列、ビューなどの情報を取得しています。
ここで、アプリケーション内のテーブルと列のコメントをメタデータから個別に取得したいと考えています。この詳細を取得するにはどうすればよいですか?
私はJavaアプリケーションに取り組んでいます。JDBC 接続を使用して Oracle DB に接続し、メタデータを取得しました。メタデータからテーブル、列、ビューなどの情報を取得しています。
ここで、アプリケーション内のテーブルと列のコメントをメタデータから個別に取得したいと考えています。この詳細を取得するにはどうすればよいですか?
ここで、アプリケーション内のテーブルと列のコメントをメタデータから個別に取得したいと考えています。この詳細を取得するにはどうすればよいですか?
テーブル コメントの場合は、viewを使用し[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.
列のコメントには、viewを使用し[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 プレフィックスを使用することもできます。
dbms_metadata パッケージを試してください。それを使用すると、コメント、許可、およびその他のものを db から抽出できます。
SELECT DBMS_METADATA.GET_DEPENDENT_DDL('COMMENT','TABLE_NAME','SCHEMA') FROM DUAL