こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

表の複写について(ORACLE)

同一データベース、同一スキマーのテーブルを別名で複写したいです。
又この時データも一緒にコピーしたいです。
教えて下さい。できれば詳細で。

例)SCOTT.tableAを複写してSCOTT.tableBを作成する。

投稿日時 - 2001-04-13 17:43:30

QNo.63355

困ってます

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

こんばんは。これでどうですか?

create table 表名[(列名)]
as select 列名 from 元の表名;

not null制約のみコピー可能(自動的にコピーされる)。
[ ]は省略可能。列名を変更する場合。
表定義のみであれば

where 1=2;

などのありえない条件を追加する。

投稿日時 - 2001-04-14 00:46:34

お礼

ありがとうございます。
てっきり、COPY命令を使うのかと思いました。難しく考えすぎました。

投稿日時 - 2001-04-16 09:34:10

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

create table scott.'tableB' as select * from scott.'tableA' ;
でいかがでしょう?

これで、テーブルの作成の際にas以下のサブクエリの定義が適用されます。
ただし、制約等は、コピーされないものもあります。列名は変更できません。変更したいときは、テーブル作成文と、コピー文を別にしてください。

投稿日時 - 2001-04-13 18:01:29

あなたにオススメの質問