第107回 Oracleのお勉強 テーブルを中身ごとコピーする
いま
SQL> desc t_group_date 名前 NULL? 型 ----------------------------------------- -------- -------------- D_CREATE DATE C_STATUS CHAR(2)
こういうテーブルの作りで、
SQL> select * from t_group_date; D_CREATE C_STATUS -------- ---------- 09-01-01 5 09-01-01 5 09-01-02 5 09-01-02 0
こういうデータが入っているとする。
このテーブルを都合上いじりたくなく、
同じ中身(データ)のテーブルを新しく作りたいとする。
そういうときは、
create tebale コピー先テーブル as select * from コピー元テーブル
が使える。
やってみよう。
SQL> create table t_hoge as select * from t_group_date
SQL> select * from t_hoge; D_CREATE C_STATUS -------- ---------- 09-01-01 5 09-01-01 5 09-01-02 5 09-01-02 0 SQL> desc t_hoge; 名前 NULL? 型 ----------------------------------------- -------- -------------- D_CREATE DATE C_STATUS CHAR(2)
ほらできた。
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_k06.htm
ここによると、整合性制約はコピーされないみたいです。