Top/Oracle/テーブル一覧を件数と同時に表示するSQL

Oracle/テーブル一覧を件数と同時に表示するSQL のバックアップ(No.2)


テーブル一覧を件数と同時に表示するSQLは以下の通りです。COUNT()を利用しないと件数が取れないので、SQL1本では取得できないためPL/SQLで解決します。

DECLARE
    NUM_COUNT NUMBER;
BEGIN
    FOR CUR IN (SELECT * FROM USER_TABLES WHERE TABLE_NAME) LOOP
        EXECUTE IMMEDIATE 'SELECT COUNT(*) INTO :NUM_COUNT FROM ' ||
        CUR.TABLE_NAME INTO NUM_COUNT;
        DBMS_OUTPUT.PUT_LINE(
        CUR.TABLE_NAME || ' : ' || NUM_COUNT || '件');
    END LOOP;
END;
/

Analyze直後であれば、NUM_ROWSに値が入ってくるので以下のSQLでも抽出可能です。

SELECT T.TABLE_NAME, T.NUM_ROWS , C.COMMENTS
FROM USER_TABLES T, USER_TAB_COMMENTS C
WHERE C.TABLE_NAME(+)=T.TABLE_NAME
ORDER BY T.TABLE_NAME
;

ページ新規作成

新しいページはこちらから投稿できます。

TOP