17.05 - 例: 列を削除せずに列からIDENTITY属性を削除 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Release Date
2021年1月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-175K-JPN
Language
日本語 (日本)

id_phoneという名前の以下の識別列のテーブルを作成するとします。

    CREATE TABLE id_phone(
      id_num INTEGER GENERATED ALWAYS AS IDENTITY
                    (START WITH 1000
                     INCREMENT BY 10
                     MINVALUE 0
                     MAXVALUE 300000),
      phone  INTEGER)
    UNIQUE PRIMARY INDEX(idnum);
id_phoneテーブルを含む複数のVantageインスタンスを管理するために、Teradata Unityを使用します。Teradata Unityは、各Vantageのインスタンスでデータの一貫性を確保するために決定的な動作を必要とするため、id_num列から識別列属性を削除する必要がありますが、id_numはテーブルの固有プライマリ インデックスでもあるため、id_phoneを含む列とそのデータを保持する必要もあります。 次の文を使用できます。
     ALTER TABLE id_phone
     DROP id_num IDENTITY;

id_phoneテーブルのid_num列は識別列ではなくなっていますが、テーブルの固有プライマリ インデックスのままです。