• ベストアンサー

表の複写について(ORACLE)

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

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

  • ベストアンサー
  • bourbon
  • ベストアンサー率46% (18/39)
回答No.2

こんばんは。これでどうですか? create table 表名[(列名)] as select 列名 from 元の表名; not null制約のみコピー可能(自動的にコピーされる)。 [ ]は省略可能。列名を変更する場合。 表定義のみであれば where 1=2; などのありえない条件を追加する。

saitodayo
質問者

お礼

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

その他の回答 (1)

  • msystem
  • ベストアンサー率42% (79/186)
回答No.1

create table scott.'tableB' as select * from scott.'tableA' ; でいかがでしょう? これで、テーブルの作成の際にas以下のサブクエリの定義が適用されます。 ただし、制約等は、コピーされないものもあります。列名は変更できません。変更したいときは、テーブル作成文と、コピー文を別にしてください。

関連するQ&A