Oracle - テーブルのコピー

テーブルをコピーし、別名テーブルを作成

create table dept_backup nologging parallel as
  select
    *
  from
    dept;

レコードはコピーせず、構造だけコピー

create table dept_backup_empty nologging parallel as
  select
    *
  from
    dept
  where
    1 <> 1;

新しい表を作成(既存の表にカラムを追加)、そこに既存の表からデータを登録(insert-select )

[dept_2] テーブルにカラムを追加したテーブル [dept_2_insert ] に、[dept2]のデータと追加したカラムのデータを登録。

insert into dept_2_insert (
  deptno,
  dname,
  dname2, -- 追加した項目
  loc
)
  select
    deptno,
    dname,
    'dmydata', -- 追加した項目用のダミーデータ
    loc
  from
    dept_2