<Teradata Vantage™ テンポラル テーブル サポート>では、特にテンポラル テーブルに関連する構文について説明します。必須ではない構文やテンポラル テーブルに固有ではない構文は、基本的にこのドキュメントには示されていません。その他の構文については、<Teradata Vantage™ SQLデータ定義言語-構文規則および例、B035-1144>、<Teradata Vantage™ SQLデータ操作言語、B035-1146>、および<Teradata Vantage™ SQLデータ制御言語、B035-1149>を参照してください。
テンポラルSQLのANSI標準へのアプリケーションの移植性を確保するため、すべてのテンポラル修飾子を明示的に指定することを推奨します。
- CURRENT VALIDTIME
- 現在有効な行のみが、アボート条件の評価に関与します。
- VALIDTIME AS OF date_timestamp_expression
- アボート条件の評価に関与する行は、その行の有効時間と指定した時刻が重なる必要があります。
- SEQUENCED VALIDTIME
- アボート条件の評価に関与する行は、その行の有効期間と適用期間が重なる必要があります。
- period_expression
DML文の適用期間を指定します。
適用期間は、列を参照しないPERIOD定数式である必要がありますが、パラメータ化された値とTEMPORAL_DATEまたはTEMPORAL_TIMESTAMPビルトイン関数を参照できます。
適用期間は、DML文のテンポラル修飾子に関係なく、常に時間次元でnonsequencedである自己格納型の非相関スカラー サブクエリーにすることもできます。
period_expressionが指定されている場合、valid-time列は、問合わせ内の任意の場所で指定したり参照したりすることはできません。valid-time列が派生期間列の場合、問合わせ内の任意の場所でコンポーネント列を指定したり参照したりすることはできません。period_expressionを省略すると、valid-time列がPERIOD(DATE)の場合には、適用期間のデフォルトにPERIOD'(0001-01-01, UNTIL_CHANGED)'が設定されます。また、valid-time列がPERIOD(TIMESTAMP( n ) WITH TIME ZONE)の場合には、'(0001-01-01 00:00:00.000000+00:00, UNTIL_CHANGED)'に設定されます。ここで、nは精度であり、WITH TIME ZONEは任意です。
- NONSEQUENCED VALIDTIME
- アボート条件の評価に関与する行が、valid-time次元の修飾でさらに評価されないようにします。
- AND
- valid-time修飾子とtransaction-time修飾子の両方を指定するためのキーワード。
- CURRENT TRANSACTIONTIME
- オープン行のみがアボート条件の評価に関与するようにします。
- TRANSACTIONTIME AS OF date_timestamp_expression
- アボート条件の評価に関与するために、指定した時刻が行のトランザクション時間と重なる必要があります。
- NONSEQUENCED TRANSACTIONTIME
- アボート条件の評価に関与する行が、transaction-time次元の修飾でさらに評価されないようにします。
- AS OF date_timestamp_expression
- valid-time次元とtransaction-time次元でdate_timestamp_expressionと重なる行のみがアボート条件の評価に関与します。
- WORK
- 任意選択のキーワード。
- 'message'
- トランザクションが終了したときに返されるメッセージのテキストを指定します。
- FROM option
- WHERE句でさらに修飾されるテンポラル テーブル。
- WHERE abort_condition
- Teradata Databaseがトランザクションをロールバックするために、結果がTRUEに評価される必要がある式。