ALTER TABLE - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/ncd1596241368722.ditamap
dita:ditavalPath
ja-JP/ncd1596241368722.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

テーブルまたはグローバル一時テーブルへの1つ以上の列の追加、パーティション、制約、圧縮を含む属性およびオプションの追加または変更を行ないます。列の削除、結合インデックスの変更、テーブルの再検証を行なうこともできます。

以下の項目のいずれかを追加します。
  • テーブルまたはグローバル一時テーブル定義の列に新しい属性を追加する。
  • 新しい列のセットを既存のテーブルまたはグローバル一時テーブルの定義に追加する。
  • 列のセットを列パーティション テーブルの既存の列パーティションに追加する。
  • 列のセットを新しい列パーティションとして既存の列パーティション テーブルに追加する。

テーブルまたはグローバル一時テーブル定義から列を削除する。

すべてのコンポーネント列が削除されるときに、列パーティションを削除する。

FALLBACKオプションを追加または削除する。

JOURNALオプションを追加または変更する。

以下を変更します。
  • 列レベルおよびテーブル レベルの制約を変更する。
  • 参照制約を変更する。
  • テーブルまたはグローバル一時テーブル定義のDATABLOCKSIZEまたはFREESPACEのパーセントを変更する。
  • 永久 テーブル定義または永久ジャーナル テーブル定義のMERGEBLOCKRATIOを変更する。
  • グローバル一時テーブルのLOGまたはON COMMITオプションを変更する。
  • 列の名前を変更する。
  • テーブルのプライマリ インデックスのプロパティを変更する。
  • テーブルのパーティション プロパティを変更する(行パーティション テーブルのパーティション式の変更を含む)。
  • 列パーティション テーブルと結合インデックスの列パーティション プロパティを変更する。
  • テーブルのディスクI/O整合性オプションを変更する。
  • テーブルの列の圧縮属性を変更する。
  • テーブルのロード分離属性。

テーブルヘッダーを再生成し、任意指定で行パーティション テーブルの行のパーティションを妥当性検査および訂正します。

テンポラル テーブルおよびテンポラル構文について詳しくは、<Teradata Vantage™ - ANSIテンポラル テーブル サポート、B035-1186>および<Teradata Vantage™ - テンポラル テーブル サポート、B035-1182>を参照してください。

ANSI準拠

この文はANSI SQL:2011に準拠していますが、非ANSI Teradata拡張機能を含みます。

その他のSQL用語は、以下のような名前の、類似した非ANSI規格文をサポートしています。

必要な権限

テーブルを変更するには、そのテーブル、またはそのテーブルの格納先データベースに対するDROP TABLE権限が必要です。

ALTER TABLEを使用して行レベル セキュリティ列を追加または削除する場合は、DROP TABLE権限だけでなく、CONSTRAINT ASSIGNMENT権限も必要です。

次のいずれかの形式でALTER TABLEを実行する場合は、表に対するINDEX権限も持っている必要があります。
  • ALTER TABLE … ADD UNIQUE (column_list)
  • ALTER TABLE … ADD PRIMARY KEY (column_list)
次のいずれかのALTER TABLE形式を実行する場合は、save_tableに対するINSERT権限も持っている必要があります。
  • ALTER TABLE MODIFY … WITH INSERT
  • ALTER TABLE REVALIDATE PRIMARY INDEX… WITH INSERT
テーブルにUDT列を追加する、あるいはテーブルからUDT列を削除するには、次の権限のいずれかが必要です。
  • 指定されたUDTに対するUDTUSAGE権限。
  • SYSUDTLIBデータベースに対する次の権限のうち、最低1つ。
    • UDTUSAGE
    • UDTTYPE
    • UDTMETHOD

行レベル セキュリティ制約列をテーブルに追加したり、行レベル セキュリティ制約列をテーブルから削除したりするには、CONSTRAINT ASSIGNMENT権限が必要です。

自動的に与えられる権限

ALTER TABLE … ADD CONSTRAINT、ここで追加された制約は参照整合性制約で、RI制約を追加している要求元に次の権限を自動的に与えます。
  • 制約に対するエラー テーブルでのDELETE
  • 制約に対するエラー テーブルでのDROP TABLE
  • 制約に対するエラー テーブルでのINSERT
  • 制約に対するエラー テーブルでのSELECT
  • 制約に対するエラー テーブルでのUPDATE

他のALTER TABLEオプションには、権限は自動的に与えられません。