-196   COLUMN table-name.column-name CANNOT BE DROPPED. REASON = reason-code.

説明

指定の列をドロップしようとしましたが、示された理由により、列をドロップすることはできませんでした。

table-name
表の名前。
column-name
列の名前。
reason-code
ステートメントを実行できない理由を示す数値。
1
列は、ハッシュ・キーまたはパーティション・キーの一部であるため、ドロップできません。
3
列は、セキュリティー・ラベルの列であるため、ドロップできません。
4
列は、期間の一部であるため、ドロップできません。
5
列は、表がシステム期間テンポラル表またはアーカイブ使用可能表であるため、ドロップできません。
6
列は、履歴表またはアーカイブ表の列であるため、ドロップできません。
8
table-name は、編集プロシージャーまたは妥当性検査プロシージャーで定義されています。
9
table-name は、マテリアライズ照会表の定義の中で (直接または間接的に) 参照されています。
10
チェック制約が表 table-name に定義されています。
11
拡張索引が表 table-name に定義されています。
12
トリガーが表 table-name に定義されているか、表に依存するビューに INSTEAD OF トリガーが定義されています。
13
行の許可が表 table-name に依存しています。
14
列のマスクが表 table-name に依存しています。
15
SQL 表関数が表 table-name に依存しています。

システムの処置

このステートメントを処理することはできません。

プログラマーの応答

reason-code の値に対応したアクションを実行します。

1
  • 列がパーティション・キーの一部である場合、表をドロップしてから、ドロップの必要な列を持たない表を再作成して、パーティション・キーを再定義します。
  • 列がハッシュ・キーの一部である場合、以下のようにします。
    1. 表を変更してハッシュ編成を除去します。
    2. 列をドロップします。
    3. 収容表スペースに対して REORG ユーティリティーを実行し、列をドロップする操作が有効になるようにします。
    4. 表を変更してハッシュ編成を追加します。
    代わりに、表をドロップしてから、ドロップの必要な列を持たない表を再作成することも検討できます。
3
表をドロップしてから、セキュリティー・ラベル列は作成しないで、その表を再作成します。
4
表をドロップしてから、ドロップの必要な列は作成しないで、その表を再作成します。
5
表を変更して、システム期間データのバージョン管理を除去するか、アーカイブを使用不可にします。 (ALTER TABLE に DROP VERSIONING 文節または DISABLE ARCHIVE 文節を指定して発行します。) その後、表から列をドロップします。

システム期間のバージョン管理またはアーカイブが引き続き必要な場合は、以前に関連付けられていた履歴表またはアーカイブ表から列をドロップします。 その後、システム期間データのバージョン管理またはアーカイブを表に追加し直します。

6
バージョン管理またはアーカイブをドロップして、表が履歴表またはアーカイブ表ではなくなるようにします。 (関連付けられたシステム期間テンポラル表またはアーカイブ使用可能表で DROP VERSIONING 文節または DISABLE ARCHIVE 文節を指定して ALTER TABLE ステートメントを使用します。) その後、表から列をドロップします。

バージョン管理またはアーカイブが引き続き必要な場合は、システム期間テンポラル表またはアーカイブ使用可能表から列をドロップします。 その後、バージョン管理またはアーカイブをこの表に追加し直します。

8
表が妥当性検査プロシージャーを持つものとして定義されている場合、表を変更して有効なプロシージャーを除去してから、列をドロップします。 表が編集プロシージャーを持つものとして定義されている場合は、表をドロップしてから、ドロップする必要のある列を含めずに表を再作成します。
9
表を参照するすべてのマテリアライズ照会表をドロップしてから、列をドロップします。
10
表を参照するすべてのチェック制約をドロップしてから、列をドロップします。
11
表を参照するすべての拡張索引をドロップしてから、列をドロップします。
12
表または従属ビューを参照するすべてのトリガーをドロップしてから、列をドロップします。
13
表を参照する行の許可をドロップしてから、列をドロップします。
14
表を参照するすべての列マスクをドロップしてから、列をドロップします。
15
表を参照するすべての SQL 表関数をドロップしてから、列をドロップします。

SQLSTATE

42817