0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【初心者備忘録】役立ったちょいテク編(1):テーブルのデータの退避(コピー)

Posted at

※この記事は、初心者プログラマの私が、業務で扱った内容に関連した箇所を
自身の学習用にまとめたものです。

使用したちょいテク

・テーブルのデータの退避(コピー)

使用した場面

・指定したテーブルの指定したデータを削除するためのパッケージを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
/
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?