例: テンポラル テーブルを以前の状態に復元 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ テンポラル テーブル サポート

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/avd1530664741287.ditamap
dita:ditavalPath
ja-JP/avd1530664741287.ditaval
dita:id
B035-1182
Product Category
Software
Teradata Vantage

テーブルをtime Xの時点の状態に戻すには、次の計画を使用します。

time Xの時点の行

現時点の行との比較

計画
1 行はtime Xの時点で存在し、現時点でも存在する。 行はそのままにする。
2 行はtime Xの時点で存在し、現時点でも存在する。 行はそのままにする。
3 行はtime Xの時点には存在しなかった。 行を削除する。
4 行はtime Xの時点でクローズされていて、現時点でもクローズされている。 行はそのままにする。
5 行はtime Xの時点でクローズされていて、現時点でもクローズされている。 行はそのままにする。
6 行はtime Xの時点でオープンだったが、現時点ではクローズされている。 BEGIN(TT)はそのままにする。

END(TT)はUNTIL_CLOSEDに更新する。

7 行はtime Xの時点でオープンだったが、現時点ではクローズされている。 BEGIN(TT)はそのままにする。

END(TT)はUNTIL_CLOSEDに更新する。

8 行はtime Xの時点で存在しなかった。 行を削除する。

次のSQLは、それぞれ異なる行の状態に対する計画を具体化したものです。

NONTEMPORAL DELETE  tt_table  where BEGIN(tt_col) >  time X;
NONTEMPORAL UPDATE  tt_table 
  SET  tt_col  = PERIOD(BEGIN(tt_col), UNTIL_CLOSED)
  WHERE END(tt_col) IS NOT UNTIL_CLOSED
  AND   BEGIN(tt_col) <=  time X 
  AND   END(tt_col) >  time X;
このソリューションにはNONTEMPORAL SQLが必要になるため、DBS制御ユーティリティを使用して、テンポラル テーブルに対する非テンポラル操作を有効にする必要があります。さらに、このSQLを実行するユーザーには、NONTEMPORAL権限が付与されている必要があります。DBS制御について、詳細はTeradata Vantage™ - データベース ユーティリティ、B035-1102を参照してください。NONTEMPORAL操作の詳細については、NONTEMPORAL権限を参照してください。