- ベストアンサー
表の複写について(ORACLE)
同一データベース、同一スキマーのテーブルを別名で複写したいです。 又この時データも一緒にコピーしたいです。 教えて下さい。できれば詳細で。 例)SCOTT.tableAを複写してSCOTT.tableBを作成する。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。これでどうですか? create table 表名[(列名)] as select 列名 from 元の表名; not null制約のみコピー可能(自動的にコピーされる)。 [ ]は省略可能。列名を変更する場合。 表定義のみであれば where 1=2; などのありえない条件を追加する。
その他の回答 (1)
- msystem
- ベストアンサー率42% (79/186)
回答No.1
create table scott.'tableB' as select * from scott.'tableA' ; でいかがでしょう? これで、テーブルの作成の際にas以下のサブクエリの定義が適用されます。 ただし、制約等は、コピーされないものもあります。列名は変更できません。変更したいときは、テーブル作成文と、コピー文を別にしてください。
お礼
ありがとうございます。 てっきり、COPY命令を使うのかと思いました。難しく考えすぎました。