例: Valid-TimeテーブルからのSequenced削除 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/cjo1556732840654.ditamap
dita:ditavalPath
ja-JP/cjo1556732840654.ditaval
dita:id
B035-1182
Product Category
Software
Teradata Vantage

sequenced削除を実行するには、DELETE文にVALIDTIME修飾子、またはSEQUENCED VALIDTIME修飾子を使用します。

有効時間を含むテーブルでは、適用期間と重なる有効期間を含むすべての行が削除対象となります。削除操作では、物理的に行が削除されるか、論理的に行が削除されるか、行の有効期間が変更されるか、または行が削除されて新しい行が作成されます。Policyテーブルに含まれる次のデータについて考えてみましょう。

   NONSEQUENCED VALIDTIME
   SELECT Policy_ID, Customer_ID, Validity
   FROM Policy
   WHERE Policy_Type = 'AU';

   Policy_ID  Customer_ID  Validity
   ---------  -----------  ------------------------
      497201    304779902  ('05/02/14', '06/02/13')
      540944    123344567  ('07/02/03', '08/02/02')
      541077    766492008  ('09/12/21', '99/12/31')
      541145    616035020  ('09/12/03', '10/12/01')
      541008    246824626  ('09/10/01', '99/12/31')

次のSEQUENCED DELETE文は、テーブルから1つの行を物理的に削除します。ポリシー540944の有効期間(PERIOD '(2007-02-03, 2008-02-02)')は、sequenced削除文の適用期間(PERIOD '(2007-01-01, 2008-03-01)')に完全に収まります。

   SEQUENCED VALIDTIME PERIOD '(2007-01-01, 2008-03-01)' DELETE
   FROM Policy;