-190   THE ATTRIBUTES SPECIFIED FOR THE COLUMN table-name.column-name ARE NOT COMPATIBLE WITH THE EXISTING COLUMN DEFINITION

説明

ALTER TABLE ステートメントに指定されている列の属性に、既存の列の属性との互換性がありません。

table-name
表の名前。
column-name
列の名前。

このエラーの原因としては、以下のことが考えられます。

互換性がないデータ・タイプ
ALTER TABLE ALTER COLUMN SET DATA TYPE ステートメント では、次に示すデータ・タイプの列のみを変更できます。
  • 文字
  • 数値
  • バイナリー

SET DATA TYPE 文節が指定された場合、既存の列は、指定された新規データ・タイプと矛盾しているか、変更できないタイプのデータです。

必須 ID 列
ID 列として定義されている列にのみ指定できる文節を次に示します。
  • RESTART
  • SET GENERATED
  • SET INCREMENT BY
  • SET MINVALUE および SET NO MINVALUE
  • SET MAXVALUE および SET NO MAXVALUE
  • SET CYCLE および SET NO CYCLE
  • SET CACHE および SET NO CACHE
  • SET ORDER および SET NO ORDER

上記のいずれかの文節が指定されている場合、既存の列が ID 列として定義されていません。

デフォルト値
SET DEFAULT 文節または DROP DEFAULT 文節が指定されている場合、既存の列が次のいずれかです。
  • デフォルト値が定義されていないか、または列の NULL 属性として NOT NULL が指定されている。
  • ID 列、ROWID、または行変更タイム・スタンプ列として定義されている。
ROW BEGIN、ROW END、または TRANSACTION START ID 列の変更
列を ROW BEGIN、ROW END、または TRANSACTION START ID 列に変更する ALTER COLUMN が指定されている場合、次のいずれかです。
  • この列は生成された列として既に定義されている。
  • この列はユーザー指定デフォルト値を使用して既に定義されている。 デフォルト値を削除する ALTER TABLE ステートメントを発行してください。これで、列定義を変更できます。

システムの処置

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

プログラマーの応答

SQL ステートメントの内容を確認し、適切な処置をとり、ステートメントを再実行依頼してください。

  • ステートメントを変更し、変更対象列に対して指定されている属性が、既存の列定義と互換性があるものにするようにしてください。
  • 互換性がない属性の指定を除去してください。
  • 別の列を指定してください。

SQLSTATE

42837