ALTER TABLEリクエストを使用しないプライマリ インデックス、基本AMPインデックス、またはパーティションの再定義 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

ALTER TABLEリクエストを使用せずに、テーブルのプライマリ インデックスまたはパーティションを再定義するには、列のデータ型を変更する手順を参照してください。次のいずれかの方法を参照してください。

方法1

  1. CREATE TABLE … AS構文を使用して、異なるプライマリ インデックスまたは基本AMPインデックス(またはプライマリ インデックスなし)で新たに定義したテーブルに、テーブルをコピーして取り込みます。CREATE TABLE (AS句)を参照してください。
  2. 古いテーブルの権限をカタログします。列のデータ型を変更する手順のステップ3を参照してください。
  3. 元のテーブルを削除します。DROP TABLEと<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。
  4. 新しいテーブルの名前を変更します。<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。
  5. 新しいテーブルの権限を付与します。<Teradata Vantage™ - SQLデータ制御言語、B035-1149>の「GRANT (SQL形式)」を参照してください。

方法2

  1. 新しいインデックスを指定する新しい名前で新しいテーブルを作成します。
  2. INSERT … SELECTリクエストを使用して、新しいテーブルにデータを挿入します。<Teradata Vantage™ - SQLデータ操作言語、B035-1146>を参照してください。
  3. 古いテーブルの権限をカタログします。列のデータ型を変更する手順のステップ3を参照してください。
  4. 元のテーブルを削除します。DROP TABLEと<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。
  5. 新しいテーブルの名前を古いテーブルの名前に変更します。<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>の「RENAME MACRO」を参照してください。
  6. 新しいテーブルの権限を付与します。<Teradata Vantage™ - SQLデータ制御言語、B035-1149>の「GRANT (SQL形式)」を参照してください。