16.20 - 例: Valid-TimeテーブルからのSequenced削除 - Teradata Vantage NewSQL Engine

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

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1182-162K-JPN

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;