SELECTとNORMALIZEを一緒に使用するためのルールと制限を以下に示します。テンポラル テーブルについて詳しくは、<Teradata Vantage™ テンポラル テーブル サポート、B035-1182>を参照してください。
NORMALIZE操作は、選択リストの最初のPERIOD列に対して実行されます。
NORMALIZEでは、選択リスト内の少なくとも1つの列はPERIODデータ型である必要があります。
- 正規化テーブルまたは非正規化テーブルに対して
- サブクエリーで
- SELECT INTO文で
SELECTリストで指定された最初の期間値がPERIOD列のUSING値、定数値、またはDEFAULT関数である場合、NORMALIZEはSELECTとDISTINCTの組み合わせのように動作します。
NORMALIZE句がEXPANDとともに指定された場合、行が拡張されてから結果が正規化されます。
問合わせにNORMALIZEおよびORDER BYが含まれていると、最初に行が正規化され、結果は正規化された結果に対して順序付けされます。
NORMALIZEは、問合わせにORDER BYまたはINTOが含まれている場合を除くと、最後に実行される操作です。問合わせの他の操作はNORMALIZEの前に実行され(ORDER BYおよびINTOを除く)、その後で行は正規化されます。NORMALIZEが集約またはOLAPと一緒に問合わせで指定された場合、集約またはOLAP操作の後の最終結果に対して正規化が実行されます。
SELECT NORMALIZEにビュー リストが含まれている場合、ビューは更新可能ではありません。
派生PERIOD列でのSELECT文にNORMALIZEを含めることはできません。
NORMALIZEの選択列リストにLOB列を含めることはできません。
WITH句またはTOP n演算子が含まれるSELECT文でNORMALIZEを使用することはできません。
再帰的問合わせの非再帰的シード文でNORMALIZEを使用できます。ただし、再帰的問合わせの再帰文ではNORMALIZEは使用できません。
カーソルのSELECT文にNORMALIZEが指定されている場合、カーソルは更新可能ではありません。