2009/03/18

[oracle]型が同じテーブルを複製する

ひょっとしたら既に同じ記事を書いちゃっているかも。

最近、oracleのネタに関して、重複している記事を書いていような気がしてならないっす。

でも、やっぱり書かないより書いた方がいいかなーと思い、念のため。

こちらのサイトでは、複合創成として紹介されているのですが、あるテーブル(ここではtest_aテーブルとします)と同じ型のテーブルを作成したい場合、一般的にはこのようにSQLを発行します。

create table test_b as
select * from test_a
;

ただ、この場合、型と同時にデータまで登録されてしまいます。

純粋に型だけを複製したい場合、下のように記述すれば実現できることに気づきました。

create table test_b as
select * from test_a where 0 = 1
;

select文の結果だけを見ると確実に0件なので、何もselectされずに型だけコピーされるというスンポウです♪

今度、データなしの複製を作りたい場合、バシバシ使っていきたいと思います。

0 コメント:

コメントを投稿