[DB2]統計資料表筆數

[DB2]統計資料表筆數

紀錄一下過程。

問題描述

想要統計資料表筆數,做為之後資料庫從DB2轉換到SQL Sever的比對基礎。

步驟

準備好計算筆數的SQL檔案(CALC_TABLE_NAMES.SQL)

執行指令內容


-- 計算資料表筆數

SELECT  'SELECT ''' || TRIM(TABLE_NAME) || ''' AS TABLENAME,COUNT(1) AS TOTALNUM FROM '

||TRIM(TABLE_SCHEMA)||'.'||TRIM(TABLE_NAME) || ';' AS COUNTSQLFROM

FROM sysibm.tables WHERE TABLE_SCHEMA IN ('AFEIS','USERID') AND TABLE_TYPE='BASE TABLE'

ORDER BY TABLE_NAME;

image001

使用DB2 命令列

image003

連線到資料庫


CONNECT TO TCBSYPD

image005

把執行結果另存成統計筆數的SQL檔案(COUNT.SQL)


DB2 -TVF C:\CALC_TABLE_NAMES.SQL > C:\COUNT.SQL

image006

調整COUNT.SQL內容,去掉前面幾行非SQL指令部份。

修改前

image007

修改後

image008

依照SQL檔案內容執行SQL


DB2 -TVF C:\COUNT.SQL > C:\TABLECOUNT.TXT

image009

結果畫面

資料表筆數統計結果【TABLECOUNT.TXT】

image010

參考資料

DB2 catalog tables

SYSIBM.SYSTABLES table

DB2資料庫常用指令大全

DB2命令大全