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;