列PARTITIONまたはPARTITION#L nの指定 - 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/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

参照テーブルがpartitionまたはPARTITION#L nという名前のユーザー定義列を持たない場合、WHERE句でシステム派生列PARTITIONまたはPARTITION#L n(nは1~62)を指定できます。パーティションを持たないテーブルにこれらのシステム派生列を指定できますが、このようなシステム派生列に返される値は常に0であり、そのためこの作業は空でないテーブルがパーティション化されているかどうかを判断するためにのみ実行します。

PARTITIONは、必要に応じて適切に修飾された列参照を持つテーブルについて定義された組み合わせパーティション化式と同じである値式と同等です。

nが1~62の値で最大列数を含むPARTITION#L nは、式が対応レベルでパーティション式と同一である値式に等価であるか(つまり、これが列パーティション レベルである場合は1)、テーブルがパーティション化されていなければ0になります。

したがって、述部WHERE PARTITION <> combined_partitioning_expressionを指定したパーティション テーブルに対する問合わせは、常に0個の行を返すはずです。行が返された場合は、パーティション化が適切ではないので、テーブルをただちに再妥当性検査する必要があります。