アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちわ。
データ移管の件で悩んでいます。

AとBというテーブルがあり、違いは名前だけで構造は全く一緒です。
Aには大量のデータが入っており、Bにはデータが全く入っていません。
今、このテーブルにAのデータを一度エクスポートして、後でBのテーブルに移管したいと考えています。
しかし、

exp ID/PW file = (エクスポートしたファイル名) table = A

でデータをエクスポートし、

imp ID/PW file = (エクスポートしたファイル名) tables = B

でデータを入れようとしたのですが、

IMP-00033: 警告: 表"B"がエクスポート・ファイルにありません

というエラーになります。
AからエクスポートしたデータをBにインポートするにはどのようにすれば宜しいのでしょうか?

尚、今回は事情があり、create table B as select ... という方法は使えません。

宜しくお願いします。

A 回答 (3件)

CSVとして出力してSQL*Loaderで入れるのはどうでしょうか。


データの中に,(カンマ)が無いことを前提に考えると
SQL*Plusで
set colsep ','
set lines 1000
set head off    などを指定してから
spool table_data_A.csv
select * from A;
でtable_data_A.csvファイルにCSV出力できます。
(ファイルの最初と最後にある余計な文字を取り除く必要がありますが)
それをSQL*LoaderでテーブルBにローディングすればよいかと思います。
    • good
    • 0

ところで、


insert into A
select * from B
も考えてないんですか?
違うDBならDBリンクはればできそうな気もしますが。。。
    • good
    • 1

インポートファイルのテーブル名を直接置換します。



perlでもいいでしょう。
perl -pe 's/TABLE_NAME1(.*)/ TABLE_NAME2 $1;/'
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す