テーブルから列を削除する操作に関するルールと制約事項を以下にまとめます。
- テーブルからすべての列を削除できます。
- 列を削除すると、テーブルの各行でその削除列に対応するフィールドがデータベースによって削除されます。
- インデックス付きの列をテーブルから削除するには、まずそれらの列のインデックスを削除する必要があります。
インデックス付きの列をテーブルから削除するための一連の手順を以下にまとめます。
列を削除するインデックスの種類 | 手順 |
---|---|
基本:テーブルに行が存在しない |
|
基本: CREATE TABLE AS文を使用する |
|
基本:従来の方法 |
|
|
|
- 行パーティション テーブルのパーティション列を削除するには、まずパーティションを変更して、その列をパーティション セットから除外しなければなりません。そのようにすると、データベースはエラーを返します。
プライマリ インデックス、基本AMPインデックス、セカンダリ インデックス、ハッシュ インデックス、結合インデックスが定義されている列を削除することはできません。
- トリガーのUPDATE OF句で参照されている列を削除することはできません。
- 既存のテーブルの識別列を削除することは可能です。
- 既存のテーブルの識別列から識別列の属性だけを削除し、その列とデータを残すこともできます。
- LOB列は制約なしで実テーブルから削除できます。テーブルからすべてのLOB列を削除すると、そのテーブルはLOB制約に縛られなくなります。ラージ オブジェクト データ型に関するルールと制約事項を参照してください。
- キュー テーブルからQITS列を削除することはできません。