列の変更時のデフォルト値の指定
ALTER TABLE ステートメントを使用すると、列のデフォルト値を追加、変更、または除去できます。
このタスクについて
以下の制約事項が適用されます。
- 以下の条件のいずれかが存在する場合は、列を変更してデフォルト値を指定することはできません。
- 表はビューによって参照されます。
- 列は元の表定義の一部ではなく、表は DEFINE YES 属性を持つ表スペースに存在し、その表スペースは列の追加後に再編成されませんでした。
- 列がユニーク制約またはユニーク索引の一部である場合、値の新規デフォルトは、その列に既に存在する値と同じであってはなりません。
- 新規デフォルト値は、新規行にのみ適用されます。
プロシージャー
列のデフォルト値を変更するには、以下のいずれかの方法を使用します。
例
例えば、表 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