3.2 WM_PERIODデータ型

WM_PERIODデータ型は、セッションまたは作業領域およびバージョン対応表の行について有効期間の範囲を指定するために使用されます。

WM_PERIOD型の定義は、次のとおりです。

CREATE TYPE WM_PERIOD AS OBJECT  (
  validFrom  TIMESTAMP WITH TIME ZONE,
  validTill  TIMESTAMP WITH TIME ZONE,
MAP member function wm_period_map return varchar2);

validFromは範囲の開始日で、validTill期間は指定した日付の前日までとなります。つまり、有効日付の範囲はvalidFromの日付からvalidTillの日付の前日までとなります。

wm_period_mapメンバー・ファンクションにより、WM_PERIOD型の列で順序付け(ソート)とDISTINCTの使用が有効になります。

例3-2 セッションの有効期間を特定の日付に設定する例

例3-2では、セッションの有効期間の範囲を2003年1月1日に設定しています。

EXECUTE DBMS_WM.SetValidTime(TO_DATE('01-01-2003', 'MM-DD-YYYY'), TO_DATE('01-02-2003', 'MM-DD-YYYY'));

例3-3では、2003年1月1日から変更時まで有効な1行を挿入しています。

例3-3 期間の範囲に有効な1行を挿入する例

INSERT INTO employees VALUES(
  'Baxter',
  40000,
  WMSYS.WM_PERIOD(TO_DATE('01-01-2003', 'MM-DD-YYYY'), DBMS_WM.UNTIL_CHANGED)
);

有効期間サポートを伴う表に作成されたビューに、WM_VALID型の1列のかわりにTIMEZONE WITH TIMESTAMP型の2列を使用して有効期間範囲を格納する場合、Workspace Managerシステム・パラメータUSE_SCALAR_TYPES_FOR_VALIDTIMEONに設定します。「Workspace Managerのシステム・パラメータ」を参照してください。