@634

Oracle - 表から列を削除する

Advertisement

表から列を削除する二つの方法

表から列を削除する方法には、即時に列を削除する方法と、サービス提供中は未使用フラグを設定しておき、データベースへの負荷が低くなった時点で実際の削除を行う方法の2通り存在する。

列を即時に削除する

書式
alter table 表名 drop column 列名;
このコマンドを実行した時点で列が削除される。

未使用フラグを設定しておき後で削除する

書式(未使用フラグの設定)
alter table 表名 set unused column 列名;
未使用フラグを設定した時点で、列の参照をすることはできなくなり、describe コマンドにも表示されなくなるが、物理的には

書式(未使用列の削除)
alter table 表名 drop unused columns;
このコマンドを実行すると、指定した表の未使用フラグが設定されている列が削除される。

例:列の削除

SQL> create table mytab01(col1 number, col2 number);
表が作成されました。

SQL> alter table mytab01 set unused column col2;
表が変更されました。

SQL> desc mytab01
名前                                      NULL?    型
----------------------------------------- -------- ---------------------------
COL1                                               NUMBER

SQL> alter table mytab01 drop unused columns;
表が変更されました。

SQL> drop table mytab01;
表が切り捨てられました。

SQL> create table mytab01(col1 number, col2 number);
表が作成されました。

SQL> alter table mytab01 drop column col2;
表が変更されました。

SQL> desc mytab01
名前                                      NULL?    型
----------------------------------------- -------- -------------------------
COL1                                               NUMBER

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール