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

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

//Oracle/テーブル一覧を件数と同時に表示するSQL
テーブル一覧を件数と同時に表示する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