例: 列を削除せずに列からIDENTITY属性を削除 - 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

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列は識別列ではなくなっていますが、テーブルの固有プライマリ インデックスのままです。