Oracle データベースでテーブルの作成日・最終更新日・含まれる行数・コメントを一覧表示する

Oracle データベースでテーブルの作成日・最終更新日・含まれる行数・コメントを一覧表示する

Oracle データベースで各テーブルの作成日・最終更新日・含まれる行数・コメントを一覧表示する SQL です。

SELECT
  TAB.OWNER                                 AS "スキーマ名",
  TAB.TABLE_NAME                            AS "テーブル名",
  TO_CHAR(OBJ.CREATED, 'YYYY-MM-DD')        AS "テーブル作成日",
  TO_CHAR(OBJ.LAST_DDL_TIME, 'YYYY-MM-DD')  AS "テーブル最終変更日",
  TAB.NUM_ROWS                              AS "テーブルに含まれるレコード行数",
  TO_CHAR(TAB.LAST_ANALYZED, 'YYYY-MM-DD')  AS "最終テーブル解析日(ANALYZE)",
  COMM.COMMENTS                             AS "コメント"
FROM ALL_TABLES TAB
JOIN ALL_OBJECTS OBJ ON (OBJ.OWNER = TAB.OWNER AND OBJ.OBJECT_NAME = TAB.TABLE_NAME)
LEFT OUTER JOIN ALL_TAB_COMMENTS COMM ON (TAB.TABLE_NAME = COMM.TABLE_NAME AND TAB.OWNER = COMM.OWNER)
WHERE TAB.OWNER NOT IN (
                        'SYS',
                        'SYSTEM',
                        'CTXSYS',
                        'DBSNMP',
                        'EXFSYS',
                        'LBACSYS',
                        'MDSYS',
                        'MGMT_VIEW',
                        'OLAPSYS',
                        'OWBSYS',
                        'ORDPLUGINS',
                        'ORDSYS',
                        'OUTLN',
                        'SYSMAN',
                        'WMSYS',
                        'DMSYS',
                        'XDB',
                        'TSMSYS'
                        )
ORDER BY
  TAB.OWNER,
  TAB.TABLE_NAME
;



上記 SQL を実行すると次のような結果が得られます。ここでは SCOTT ユーザーのテーブル一覧のみ表示しています。