列の変更時のデフォルト値の指定

ALTER TABLE ステートメントを使用すると、列のデフォルト値を追加、変更、または除去できます。

このタスクについて

汎用プログラミングインターフェース情報の開始。

以下の制約事項が適用されます。

  • 以下の条件のいずれかが存在する場合は、列を変更してデフォルト値を指定することはできません。
    • 表はビューによって参照されます。
    • 列は元の表定義の一部ではなく、表は DEFINE YES 属性を持つ表スペースに存在し、その表スペースは列の追加後に再編成されませんでした。
  • 列がユニーク制約またはユニーク索引の一部である場合、値の新規デフォルトは、その列に既に存在する値と同じであってはなりません。
  • 新規デフォルト値は、新規行にのみ適用されます。

プロシージャー

列のデフォルト値を変更するには、以下のいずれかの方法を使用します。

  • デフォルト値を設定するため、次のステートメントを発行する。
    ALTER TABLE table-name ALTER COLUMN column-name 
    SET default-clause

    このステートメントは、まだデフォルト値のない列にデフォルト値を追加する場合、または既存のデフォルト値を変更する場合に使用します。

  • 新しいデフォルト値を指定せずにデフォルト値を除去するときは、次のステートメントを発行する。
    ALTER TABLE table-name ALTER COLUMN column-name 
    DROP DEFAULT

例えば、表 MYEMP が次のように定義されていると想定します。

CREATE TABLE MYEMP LIKE EMP
例: デフォルトの設定
次のステートメントを使用して、列 JOB にデフォルト値を割り当てます。
ALTER TABLE MYEMP ALTER COLUMN JOB SET DEFAULT 'PENDING'
例: デフォルトのドロップ
次のステートメントを使用して、列 JOB からデフォルト値をドロップします。
ALTER TABLE MYEMP ALTER COLUMN JOB DROP DEFAULT

汎用プログラミングインターフェース情報の終了。