17.10 - ADD RANGE - Advanced SQL Engine - Teradata Database

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

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

テーブルのパーティション レベルが基づくRANGE_N関数に範囲セットを追加します。追加する範囲は昇順で指定する必要があります。RANGE_N関数については、<Teradata Vantage™ - SQL関数、式、および述部、B035-1145>を参照してください。

範囲セットは、パーティション レベルでCASE_N関数に追加(ADD)することはできませんが、MODIFYオプションまたはMODIFY PRIMARY INDEXオプションを使用して、テーブルのパーティション全体を再定義する必要があります。

ADD RANGEを使用して、2バイトのパーティション化から8バイトのパーティション化に変更することはできません。テーブルのパーティション全体を再定義するには、MODIFY PARTITION BYオプションまたはMODIFY PRIMARY INDEXオプションを使用する必要があります。

ADD RANGE#L n
パーティション レベル番号で、nは、2バイトのパーティション化に対しては1から15までの整数値、8バイトのパーティション化に対しては1から62までの整数値です。RANGE#Lnの指定のRANGEと#Lnの間にスペースがないことに注意してください。範囲を追加できるのは、テーブルのパーティション レベルがRANGE_N関数からのみ取得されている場合だけです。INTEGER数またはBIGINT数への次の型の範囲のマッピングを定義するには、RANGE_N関数を使用します。
  • BIGINT
  • BYTEINT
  • CHARACTER
  • DATE
  • GRAPHIC
  • INTEGER
  • SMALLINT
  • VARCHAR
  • VARGRAPHIC
文字以外のパーティション レベルからは、標準的な範囲のみを追加できます。ここで言う標準的な範囲とは、NO RANGE、UNKNOWN、またはNO RANGE OR UNKNOWN以外のすべての範囲を指します。例えば、1つ以上の非文字パーティション レベルを含むマルチレベルの文字パーティションなどです。
文字パーティションに範囲を追加できるのは、セッション照合がテーブル照合に一致し、セッション モードがテーブルの作成されたときに有効だったセッション モードと一致する場合だけです。
RANGE_N関数を使用して定義された文字パーティション レベルのみ変更でき、そうしたパーティションは、NO RANGE、UNKNOWN、またはNO RANGE OR UNKNOWNパーティションを追加または削除するためにのみ、変更できます。
RANGE_Nパーティション レベルのNO RANGE、NO RANGE OR UNKNOWN、およびUNKNOWNパーティションを含まない、範囲の最大数は9,223,372,036,854,775,805です。
BETWEEN start_expression
start_expressionは、RANGE_N関数のルールに従って定義されます。
AND end_expression
最後の範囲にのみ必要です。

end_expressionは、RANGE_N関数のルールに従って定義されます。

EACH range_size
指定されたstart_expressionに、0から1つずつ増加するrange_sizeの倍数を追加した一連のstart_expressionと同等になります。range_sizeは、end_expression以下、または次のstart_expression未満にする必要があります。range_size変数は、定数式にする必要があります。

RANGE_N関数が文字またはグラフィックのテスト値を指定する場合、EACH句を指定することはできません。

NO RANGE
UNKNOWN
RANGE_N関数の定義には、NO RANGEまたはUNKNOWNを追加することができます。
WHERE conditional_expression
範囲式または条件パーティション式を指定できます。範囲式または条件パーティション式に基づいて範囲を追加する例については、例: パーティション範囲の削除と追加を参照してください。conditional_expressionはシステムから派生したPARTITION列またはPARTITION#Ln列に基づく必要があります。ここで、nは1から62までの範囲であり、変更するレベル、および変更するのが1つのレベルか複数のレベルかによって異なります。