• ベストアンサー

PL/pgSQLを使用してデータ移行がしたい。

Ver8.3.3 現行のテーブルの値を、別テーブルへ移行したいのですが、 コーディングのしかたが良く解りません。 ex) Aテーブル ID  ビット合計1 ビット合計2 Bテーブル ID  ビット合計データ種別 ビット合計 1レコードの物を、2レコードに変換する具合です。 サンプル等が記載されているサイト等を教えて頂ければ幸いです。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

テーブルAとBは、同じサーバにあるのでしょうか? CSVファイルなどの媒介は、必要ないのでしょうか? データ件数は、どのくらいあるのでしょう? insert ~ selectの1文で可能なのですが、ストアドプロシジャでやりたいでしょうか? データ件数が多量の場合、select文で条件検索し、何回かに分割して行うこともできます。 insert into B select id,1,bsum1 from A union select id,2,bsum2 from A

JACK_TOSHI
質問者

お礼

chukenkenkouさん、レス有難う御座います。

JACK_TOSHI
質問者

補足

ストアドプロシジャを使用しないと出来ないと思っていました。 1文で可能なら言うこと無いです。 2つのテーブルは、同一サーバにあります。 CSVファイルの媒介は不要です。 レコード数は、約5万レコードです。 実際は、1レコードを5分割します。

その他の回答 (2)

回答No.2

具体的なアドバイスが欲しいなら、具体的な質問にしましょう。 Aテーブルでは、ID列でユニークになるのですか? Bテーブルでは、同じID列値を持つ行ができる訳ですよね? 「ID」列と「ビット合計データ種別」で、ユニークになるのですか? 「ビット合計データ種別」には、「ビット合計1」か「ビット合計2」かを識別する値が入るのですよね?アドバイスする側で推測しろっていうのは乱暴で、無駄なやり取りをしてしまうこともあります。

JACK_TOSHI
質問者

補足

早々のレス有難う御座います。 >アドバイスする側で推測しろっていうのは・・・ そういうつもりではなかったのですが、説明不足でした。 ID列は、ユニークキーです。 ID列 + ビット合計データ種別で、ユニークです。 単純に1レコードの物を、2レコードに分割したいのです。 COBOL、PL/1、RPG、VB、C、JAVA、ABAP4等にて分割しても良いのですが、SQLのプロシージャ言語を用いて分割したいのです。

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1
JACK_TOSHI
質問者

お礼

nora1962さん、早々のレス有難う御座いました。

関連するQ&A