- ベストアンサー
オラクル10で特定のレコードの複写を行うSQLはあるのでしょうか?
オラクル10で特定のレコードの複写を行うSQLはあるのでしょうか? レコードにはユニークキーがあるので、そのまま複写はできないと思いますが、 この場合は他の言語で素直にそのレコードを変数に読み込んで、ユニークキーをセット後、 INSERTで発行する手段しかないのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
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句に、重複しないようキー生成する 演算が別途必要かと思われます。