17.10 - テーブルへの列の追加 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)
テーブルに列を追加する操作に関するルールと制約事項を以下にまとめます。
  • 1つのALTER TABLEリクエストで列を複数回変更することはできません。
  • すでにデータを含んでいる実テーブルに列を追加する場合、システムは、新しい列用のフィールドを追加するために通常はそのテーブルの各行にアクセスする必要があります。すでに行を含む実テーブルに列を追加する場合には、次の原則が適用されます。
    場合 すべての行の初期値
    DEFAULT 新しい列に指定した場合 すべての行のそのフィールドに、指定された定数値が初期値として含まれます。
    WITH DEFAULT すべての行のそのフィールドに、システムのデフォルト値が初期値として含まれます。
    DEFAULT

    WITH DEFAULT

    新しい列に指定しない場合 その列の行の初期値はすべてnullになります。NOT NULL句を指定することはできません。
  • DEFAULT句またはWITH DEFAULT句を指定しないでNOT NULLを指定した列は、空のテーブルにだけ追加できます。
  • インデックス列のデータ型、NULL受入可能、または名前は変更できません。
  • パーティション テーブルのパーティション列のデータ型、NULL受入可能、または名前は変更できません。
  • 識別列を既存の実テーブルに追加したり、識別列の属性だけを既存の列に追加することはできません。
  • 1つの基本テーブルにつき最大で32のBLOB列とCLOB列を追加できます。ラージ オブジェクト データ型に関するルールと制約事項を参照してください。
  • サーバー文字セットKANJI1のCHARACTER列、VARCHAR列、CLOB列をテーブルに追加することはできません。そうしないと、システムはリクエスト側にエラーを返します。