質問 |
||
| 質問者: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 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |