CURRENT TRANSACTIONTIMEを指定した問合わせ、またはテンポラル修飾子を省略して、セッションにテンポラル修飾子を設定していない問合わせは、トランザクション時間を含むテンポラル テーブルを参照したときに、transaction-time次元でcurrent問合わせになります。
トランザクション時間を含むテンポラル テーブルに対するcurrent問合わせは、テーブル内のtransaction-time次元でオープンである行のみを対象にします。結果は、トランザクション時間を含まないスナップショット テーブルになります。
transaction-time列への参照は、問合わせ内で非transaction-time列への参照を指定できるどの場所にも指定できます。transaction-time列は、選択された現在行が使用されるときにはいつでも、従来のPERIOD列と同様に扱われます。この列を条件内で使用すると、出力の現在行全体に対してさらに詳細なフィルタを掛けられるようになります。
射影リストの*は、すべての非テンポラル列のみを示します。
current transaction-time問合わせでは、トランザクション時間を含むテーブルを、トランザクション時間を含まないテーブルに結合できます。
transaction-timeテーブルに対するcurrent transaction-time問合わせに適用されるルールは、次のとおりです。
- current問合わせの処理は次のとおりです。
- 問合わせに指定した各transaction-timeテーブルの現在行を抽出してから、currentスナップショットと等価のテーブルが問合わせに指定された場合のように問合わせを扱います。結果としてのテーブルは、射影リストにtransaction-time列が含まれているかどうかに関係なく、transaction-time次元が含まれない非テンポラル テーブルになります。
- 非テンポラル テーブルに対して発行された従来型の問合わせと同様に、この問合わせを実行します。
問合わせに二重テンポラル テーブルまたはvalid-timeテーブルが関与する場合は、valid-time次元に適用される追加情報に関する以下のトピックを参照してください。