- テンポラル修飾子は、対応するテンポラル次元を持つテーブルでのみ使用できます。例えば、valid-timeテーブルまたは二重テンポラル テーブルでのみ、VALIDTIME修飾子を使用できます。
- FROM句のテンポラル修飾子は、文レベルの同じテンポラル次元の修飾子より優先されます。例えば、次の問合わせについて考えてみます。
SEQUENCED VALIDTIME SELECT Policy.policy_id FROM Policy CURRENT VALIDTIME, Policy_History;
この場合、文レベルのSEQUENCED VALIDTIMEは、FROM句でテンポラル修飾子を持つポリシーでは無視されます。ただし、SEQUENCED VALIDTIMEはFROM句に一時的な修飾子がないPolicy_Historyには適用されます。 - FROM句のテンポラル修飾子に対応するtable_nameのvalid-timeまたはtransaction-time列は、問合わせのスコープ内にあるとみなされ、したがって、WHERE条件やJOIN条件のように、問合わせ内の任意の場所で参照できます。
- AS OF修飾子は、valid-time次元とtransaction-time次元に個別に適用できます。
- AS OF修飾子のdate_timestamp_expressionがテーブルの列を参照する場合、Teradata Databaseは参照列の各値のテンポラル テーブルにAS OF修飾子を適用し、すべての結果の組み合わせを返します。
SELECT Policy.customer_id,Incident.Id FROM Policy AS OF Incident.Injury_date WHERE Policy.customer_id = Incident.customer_id ;
- date_timestamp_expressionがテーブルの列を参照し、そのテーブルが明示的なJOIN句を使用した結合に関係している場合、AS OF修飾子の結果として生じる条件は、ON句ではなく、WHERE句に追加されます。例えば、SELECT文
SELECT Policy.customer_id,Incident.Id FROM Policy AS OF Incident.Injury_date LEFT OUTER JOIN Incident ON Policy.customer_id = Incident.customer_id;
はSELECT文SELECT Policy.customer_id,Incident.Id FROM (NONSEQUENCED VALIDTIME SELECT * FROM Policy )Policy LEFT OUTER JOIN Incident ON Policy.customer_id = Incident.customer_id WHERE Policy.Policy_Term CONTAINS Incident.Injury_date;
と同じです。 - UPDATE文またはDELETE文のFROM句内のテンポラル修飾子に関連するテーブルは、DELETE文またはUPDATE文が変更するテーブルにすることはできません。