テーブルが更新されていないことを確認
HOGEテーブル(重複行がない前提で)がテストの前後で全く変更されていないことを確認したい場合、どうするか。
create table HOGE_PREV as select * from HOGE;
で準備しておいて、テストを実行。
/* 追加・変更された行を表示。Oracleならminus */ select * from HOGE except select * from HOGE_PREV; /* 削除・変更された行を表示。Oracleならminus */ select * from HOGE_PREV except select * from HOGE;
で両方0件ならOK。
でいいのかな? おわったら HOGE_PREV は drop してしまえばいい。この程度の機械的な手順なら自動テストにも組み込める。
Excelにデータを貼付けてマクロで比較している人がいたので、もっとましな方法がないかと思った次第。