※この記事は、初心者プログラマの私が、業務で扱った内容に関連した箇所を
自身の学習用にまとめたものです。
使用したちょいテク
・テーブルのデータの退避(コピー)
使用した場面
・指定したテーブルの指定したデータを削除するためのパッケージをPLSQLで作成時
※動作確認やテスト時、再度削除前のデータを使用したかったため
手順
【手順1】
退避したいデータがあるテーブルのソース(CREATE TABLEのソース)をコピーしてSOL実行画面に貼り付け
※退避したいデータのあるテーブルと全く同じ型のテーブルを作成するため、既存テーブル作成ソースをコピーする
【手順2】
手順1で貼り付けた既存テーブルのソースの中で、既存テーブル名が入っている箇所を、新テーブル名に全て置換
【手順3】
手順2を実行し、新テーブルを作成
【手順4】
既存テーブル(下記のOLD_TABLE)のデータを新テーブル(下記のNEW_TABLE)に複製
INSERT INTO NEW_TABLE
SELECT * FROM OLD_TABLE
データコピーの時間を効率的に使う為に
コピーしたいデータ量が膨大な場合は、【手順4】実行処理にかなり時間がかかってしまうので、
一旦コピーしたいテーブルを全て【手順1,2,3】で作成し、
【手順4】のデータコピーを、【手順1,2,3】で作成した全テーブル分一遍に行い、
コピー中に他の事をやったり、終業時間間際であれば、PCを起動させたまま帰れば、データコピーの
待ち時間を削減できる。
INSERT INTO NEW_TABLE
SELECT * FROM OLD_TABLE
/
INSERT INTO NEW_TABLE2
SELECT * FROM OLD_TABLE2
/
INSERT INTO NEW_TABLE3
SELECT * FROM OLD_TABLE3
/