はじめに
備忘録。以前PostgreSQLで記述しましたが、Oracleでも必要になったので作成。
WHEREにて、テーブル指定やコメント文字列指定ができる。
SQL
Oracle
SELECT
USER_TAB_COMMENTS.TABLE_NAME,
USER_TAB_COMMENTS.COMMENTS,
USER_COL_COMMENTS.COLUMN_NAME,
USER_COL_COMMENTS.COMMENTS,
USER_TAB_COLUMNS.DATA_TYPE,
USER_TAB_COLUMNS.DATA_LENGTH,
NVL2(USER_TAB_COLUMNS.DATA_PRECISION,
USER_TAB_COLUMNS.DATA_PRECISION || ',' || USER_TAB_COLUMNS.DATA_SCALE, '') AS NUMERIC_LENGTH,
USER_TAB_COLUMNS.NULLABLE
FROM USER_TAB_COMMENTS
LEFT JOIN USER_TAB_COLUMNS
ON USER_TAB_COLUMNS.TABLE_NAME = USER_TAB_COMMENTS.TABLE_NAME
LEFT JOIN USER_COL_COMMENTS
ON USER_COL_COMMENTS.TABLE_NAME = USER_TAB_COMMENTS.TABLE_NAME
AND USER_COL_COMMENTS.COLUMN_NAME = USER_TAB_COLUMNS.COLUMN_NAME
WHERE USER_TAB_COMMENTS.TABLE_TYPE = 'TABLE'
/* AND USER_TAB_COMMENTS.TABLE_NAME = 'table_name' */
/* AND USER_TAB_COMMENTS.COMMENTS = 'table_comment' */
/* AND USER_COL_COMMENTS.COLUMN_NAME = 'column_name' */
/* AND USER_COL_COMMENTS.COMMENTS = 'column_comment' */
ORDER BY USER_TAB_COMMENTS.TABLE_NAME, USER_TAB_COLUMNS.COLUMN_ID;
参考
PostgreSQLはこちら
https://qiita.com/sasio/items/ad4c1cdd93011c5fb7b4