ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:bazax オラクル10で特定のレコードの複写を行うSQLはあるのでしょうか?
困り度:
  • 困っています
オラクル10で特定のレコードの複写を行うSQLはあるのでしょうか?
レコードにはユニークキーがあるので、そのまま複写はできないと思いますが、
この場合は他の言語で素直にそのレコードを変数に読み込んで、ユニークキーをセット後、
INSERTで発行する手段しかないのでしょうか?
質問投稿日時:07/05/10 11:30
質問番号:2988271
この質問に対する回答は締め切られました。

回答

良回答20pt

回答者:copymaster SQLの普通の文法で、
SELECT結果をINSERTすることができるので可能と思います。

a,b,cというカラムをもつテーブルfooがあり、
aがユニークで、オートインクリメントである場合、
b='xxx'のものだけ複写したいときは、

INSERT INTO foo(b,c) SELECT b,c FROM foo WHERE b='xxx';

で多分出来ると思います。
aがユニークで、自動連番(オートインクリメント)になっている
のであれば、aを抜いてINSERTしてあげれば、勝手にaに
次の番号が入るのでは?
それ以外はSELECT句に、重複しないようキー生成する
演算が別途必要かと思われます。
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:07/05/13 14:22
回答番号:No.1
この回答へのお礼この回答にお礼をつける(質問者のみ)