USER_TAB_COLUMNSを使ったOracleDBのテーブル調査

DB①が壊れたのでDB②に①の内容を退避させたが、
テーブル定義が全て正しく退避されているか確認をするため、
USER_TAB_COLUMNSを使って調査を行った。

 

【基本】

select * from USER_TAB_COLUMNS;

--ユーザがアクセスできる全てのテーブルのカラムが抽出される

 

【実施したSQL

SELECT
TABLE_NAME, 
COLUMN_NAME, 
DATA_TYPE, 
DATA_LENGTH, 
DATA_PRECISION, 
DATA_SCALE, 
NULLABLE,
DEFAULT_LENGTH, 
DATA_DEFAULT 
FROM
USER_TAB_COLUMNS 
WHERE
TABLE_NAME IN ('テーブル名','テーブル名',…中略…,'テーブル名'
--テーブル名を制限しないと1000レコード超したため
ORDER BY TABLE_NAME, COLUMN_NAME
--Diffを見やすくするためのorderby

 

これを①と②で実施し結果を比較した