17.05 - 識別列パラメータ - 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
日本語 (日本)

識別列パラメータはオプションで、任意の順序で指定できます。

START WITH constant
識別列に関してシステムによって生成される一連の数値のうち、最も小さな整数値。デフォルトは1です。
値は、増分の場合はMAXVALUEより小、減少の場合はMINVALUEより大である限り、列のデータ型の範囲内にある任意の負の整数または正の整数を指定できます。
INCREMENT BY constant
システム生成による数値の増分の基になる間隔。
値として負の整数を指定できます。デフォルトは1です。
DBS制御パラメータIdCol Batch Sizeの値以下の任意の整数(0以外)を値として指定できます。
MINVALUE constant
システムが生成する一連の数値が減少できる最小値。MINVALUEは、システム生成の数値にのみ適用されます。
絶対値がSTART WITHに指定した値より小さい任意の整数を値として指定できます。
デフォルトは、列に定義したデータ型の最小整数です。
サイクルが有効でない場合、START WITHおよびINCREMENT BYに指定した値の合計はMINVALUEよりも大きい必要があります。そうでない場合、最小値を超える前にVantageが生成する数値は1つだけになります。
NO MINVALUE
MAXVALUE制限値に達したときに、列のデータ型に表現可能な最小値に戻って、番号付けのサイクルが再開します。
NO MINVALUEは、INCREMENT BY間隔が負の数のときにのみ指定できます。デフォルトは、識別列に指定したデータ型の最小値です。
以下のルールがMINVALUEのINCREMENT BYとCYCLE指定に適用されます。
  • INCREMENT BYが正の数でありCYCLEも指定する場合、再付番は、MINVALUEから始まり、MAXVALUEに達するまで続きます。
  • INCREMENT BYが負の数である場合、MINVALUEを指定するなら、MINVALUE ≤ START WITHのような整数である必要があります。
  • INCREMENT BYを指定しないものの、NO CYCLEを指定する場合、MINVALUEに正の増分は適用できません。
MINVALUEとNO CYCLEをともに指定した場合、警告やエラーは返されません。
MAXVALUE constant
システムが生成する一連の数値を増加できる最大値。MAXVALUEは、システム生成の数値にのみ適用されます。その値には、START WITHに指定した値より大きな値の任意の整数を指定できます。
デフォルトは、列に定義したデータ型の最大数です。
サイクルが有効でない場合、START WITHおよびINCREMENT BYに指定した値の合計はMAXVALUEよりも小さい必要があります。そうでない場合、最大値を超える前にVantageが生成する数値は1つだけになります。
以下のルールがMAXVALUEのINCREMENT BYとCYCLE指定に適用されます。
  • INCREMENT BYが正の数でありながらCYCLEを指定しない場合、MAXVALUEを指定するのであれば、MAXVALUE ³ START WITHのような整数である必要があります。

    MAXVALUEは、識別列に割り当てられたデータ型の最大値よりも大きくなることはできません。

  • INCREMENT BYが負の数でありCYCLEも指定する場合、再付番は、MAXVALUEから始まり、MINVALUEに達するまで続きます。
  • INCREMENT BYを指定せずに、NO CYCLEを指定する場合は、MAXVALUEは負の増分に適用できません。

    MAXVALUEとNO CYCLEをともに指定した場合、警告やエラーは返されません。

NO MAXVALUE
列のデータ型の最大値に達したときに、そのデータ型に表現可能な最小値に戻って、番号付けのサイクルが再開します。
NO MAXVALUEは、INCREMENT BY間隔が正の数のときにのみ指定できます。デフォルトは、識別列に指定したデータ型の最大値です。
CYCLE
システム生成値は最小値または最大値に達したときにリサイクルできます。
NO CYCLE
これは、デフォルトです。